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).
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
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
Je passerai par Discord ou IRC, ça sera sans doute plus simple.
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 Merci à toi (et à tellement de bonnes volontés sur Spip).
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.
Ce n’est pas si compliqué si on prend le temps de bien lire les recommandations, ou de se les faire expliquer
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.
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).