[Résolu] Faire un git fetch sur git.spip

Bonjour,
je débute avec le git.
J’essaye de contribuer sur des modifs avec des demandes de fusion sur le projet spip-contrib-extensions / saisie_captcha_addition · GitLab
Je voudrais m’assurer que je fais cela correctement et résoudre un souci.
J’ai fait une bifurcation sur mon compte pour faire les modifs.
À présent cette modification n’est plus la même que le « main » original et j’essaye de les remettre à niveau (git fetch si je comprend bien).
Le bouton « Mettre à jour les duplications » m’indique un conflit (En PJ).

Je ne sais pas si la commande passe par un terminal. J’ai tenté sous linux avec
git fetch https://git.spip.net/spip-contrib-extensions/saisie_captcha_addition main
qui me retourne
fatal: ni ceci ni aucun de ses répertoires parents n'est un dépôt git : .git

Je ne sais pas trop quoi utiliser pour faire le git fetch (Un logiciel ? Un outils interne à git.spip).

Merci !

Bonjour,

je vous invite à lire des tutoriaux basiques sur git pour comprendre le fonctionnement.
J’imagine que là vous avez fait votre demande de fusion (MR) uniquement en travaillant depuis le site web. Cela peut marcher dans certains cas, mais ne permet pas de résoudre ce genre de problème que sont les conflits de fusion. Il vaut mieux travailler à ce moment là en local.

Et c’est uniquement en ayant fait un clone local (git clone …) que vous pourriez ensuite résoudre ce genre de problème.

Mais bon, expliquer cela par écrit n’est pas simple. Il vaudrait mieux soit que vous lisez des tutoriels qui existent deja, soit que vous passiez sur irc/discord pour un accompaghnement personnalisé.

Bonjour,
après je connais quand même la base et j’ai lu de la doc :slight_smile:
C’est le GIT de spip que je ne connais pas et quand on se laisse guider par l’interface et les recommandations du git.spip, on n’arrive parfois sur des os comme celui-ci (des indications par l’outil, mais non fonctionnelles).
J’ai l’impression que tout le monde passe par le terminal ou un outils dédié, mais pas trop par l’interface du git.spip et encore moins en débutant :wink:
Je passerai par Discord ou IRC, ça sera sans doute plus simple.

Oui c0est exactemen ce que j’écrivais : l’interface web ne permet pas de tout faire.

Oui, passer par l’IRC a été efficace.
Voici ma démarche par le git, si des noobs passent aussi par là.

Pour proposer une modif de plugin communautaire

  • Pour un plugin communautaire (tout ce qui est dans /spip-contrib-* sur Gitlab), on peut créer un ticket (programmation /ticket), à partir duquel on peut « créer une branche » (menu déroulant indiquant « Créer une requête de fusion »). On peut également « créer une branche » sans faire de ticket (Codes/Branches).
  • Le nom de la branche est lié au numéro du ticket par convention (« issue_8 » par exemple). S’il n’y a pas de ticket, on fait un nom explicite.
  • On fait la requête de fusion (Code / requête de fusion ou « Créer une requête de fusion » à partir du ticket)
  • On attend que quelqu’un fasse la fusion ou on l’a fait soit même si l’on peut.

Et comme j’expliquais, cela marche pour des modifs rapids, mais ne permet pas de résoudre les conflits de fusion (= une autre personne a travailé sur les mêmes lignes en meme temps et cela a été intégré dans la branche principale avant).

Et je précise aussi @Benitron : je suis intervenu ce matin dans l’espace privé de git.spip.net pour te donner les deoits de créer une branche. Auparavent tu ne pouvais que faire ton fork.

L’interface GIT en ligne est trés bien, y compris pour un débutant, dés lors qu’il n’y a qu’un seul fichier modifié et que l’intégration de la PR se fait rapidement ensuite pour qu’il n’y ait pas de conflits de version / de nouveaux commits à rattraper / à déconflictuer. Sinon effectivement, il vaut mieux git en ligne de commande.

Ah OK, il me semblait bien avoir regardé avant. Ça me rassure de voir que j’avais pas si mal compris :wink: Merci à toi (et à tellement de bonnes volontés sur Spip).

1 « J'aime »

Merci @JLuc pour les précisions !

Comme je le faisais remarquer sur la PR que tu as fusionnée, et je le recolle ici pour les gens qui liraient cette discussion :

https://git.spip.net/spip-contrib-extensions/saisie_captcha_addition/-/merge_requests/5#note_214427

Tu as été un peu vite là.
Avant de fusionner une PR sur un plugin dont on n’est pas l’auteur, on attend un peu soit une validation de l’auteur, soit si elle ne vient pas une validation par d’autres membres de la communauté.
Ceci afin de pouvoir avoir le temps d’en discuter.
Et en l’occurrence, je ne suis pas d’accord avec cette PR.

Et aussi, dans les logs de commit ou bien au moins dans le message de la PR, on fait un lien vers les tickets liés, sous la forme # + numéro du ticket.

D’ailleurs, tout ceci (ou presque) est bien documenté ici Contribuer au développement de SPIP - SPIP :slight_smile:

Merci pour ce lien. J’étais tombé sur Git - SPIP pour débuter et Git mais le lien Contribuer au développement de SPIP - SPIP est plus clair.

Merci de ta patience, je réponds sur le GIT.

Pas de problème.
On est tous là pour apprendre aussi :slight_smile:

J’ai un peu appris et le plus dur selon moi n’est pas la PR, mais l’abstraction ésotérique du log qui l’accompagne, qui nécessite le niveau Grand Maître de l’Art du Conventional Commit.
Et a propos, qqn sur contrib ne s’est pas estimé capable de faire une PR alors je l’ai fait : fix: éviter warning en l'absence d'argument largeur (!2) · Requêtes de fusion · spip-contrib-extensions / modeles_media · GitLab
À valider svp

PS : j’ai coché « squasher les commits en validant la PR » comme ça ya qu’un seul log de commit ouf

Ce n’est pas si compliqué si on prend le temps de bien lire les recommandations, ou de se les faire expliquer :stuck_out_tongue:

Et puis ce n’est requis que sur le core (spip/* sur Gitlab), et dans certains plugins (spip-contrib-extensions) pour lesquels les auteurs le demandent.
La bonne pratique serait d’ailleurs dans ce cas d’avoir un fichier CONTRIBUTING.md qui le précise.

Et je le rappelle, tout est documenté ici (Tenir un changleog, et Écrire un message de commit) :
https://www.spip.net/fr_rubrique783.html

Si besoin d’explications, ne pas hésiter à demander, ici ou sur IRC / Matrix / Discord (les trois passerelles sont interconnectées, on se cause indifféremment de l’une à l’autre, donc c’est vraiment comme vous voulez).