FAQ Git pour SPIP

, par _Eric_

 ? Modifier le dépôt distant de sa copie locale suite à un déplacement / renommage dudit dépôt sur la forge
Cela se fait en une seule commande Git. Il faut se placer dans le dossier correspondant à sa copie locale du dépôt de nom « mondepot » et lancer :

 $ git remote set-url origine git@git.spip.net:spip-contrib-extensions/mondepot.git
 

On considère ici que le dépôt « mondepot » a été déplacé de l’organisation plugin vers l’organisation spip-contrib-extensions.

 ? Comment voir les commits qui éventuellement précèdent le changement d’arborescence en trunk ?

Cela n’est pas possible. Git considère comme racine le répertoire
trunk/ du svn. Tout ce qui était ailleurs avant ce répertoire, de facto,
n’existe pas pour Git.

 ? Est-il possible de lier les commits antérieurs à la migration SVN vers GIT au nouveau compte Git ?

Non.

 ? Le mail qui arrive sur spip-zone-commit@rezo.net ne reprend pas mon nom

La notification par courriel reprend les informations communiquées
dans le commit qui sont contenues dans la configuration utilisateur de Git ( user.email et user.name). Voir l’article Configuration de Git pour plus de précisions.

Cette configuration n’a rien à voir avec les données saisies pour l’utilisateur sur la forge.

 ? Qu’est ce que gitea ?

Gitea est un outil libre pour gérer des dépôts Git via une interface web. La forge git communautaire de SPIP utilise gitea pour fournir des services un peu comme ceux de Github, Bitbucket ou Gitlab.com, mais de manière hébergée et gérée par des membres de l’équipe SPIP.

 ? comment je fais pour mettre à jour et avoir tout le plus possible à jour sur mon fork ?
Lorsque l’on travaille sur fork, il peut arriver que la version « officielle » (celle à partir de laquelle le fork a été fait) soit modifiée. La manipulation suivante permet d’intégrer ces modifications (= « mises à jour ») dans le fork :

# Ajouter la branche forkée sous le nom de "upstream":
git remote add upstream https://git.spip.net/toto.truc/spip_core.git
 
# Récupérer toutes les branches de upstream/master:
git fetch upstream
 
# s'assurer d'être positionné sur la branche master:
git checkout master
 
# Rejouer tous les commits manquants :
git rebase upstream/master
 
# forcer le push vers votre repo forké :
git push -f origin master