Skip to content

Instantly share code, notes, and snippets.

@bystrano bystrano/spip-zone.sh
Last active Aug 14, 2018

Embed
What would you like to do?
Bosser sur la zone avec git
###########################################################
## Création d'un nouveau plugin sur la zone ###############
###########################################################
# On commence par récupérer les plugins de la zone, mais sans prendre le contenu des dossiers
svn checkout --depth=immediates svn://zone.spip.org/spip-zone/_plugins_
# On crée ensuite son plugin et un trunk
cd _plugins_
mkdir mon_plug
mkdir mon_plug/trunk
# puis on le commit
svn add mon_plug
svn add mon_plug/trunk
svn commit -m "ajout du nouveau plugin mon_plug"
# On peut ensuite effacer tout ça, pour la suite on bossera avec git svn
############################################################
## importer un dépôt git existant dans la zone #############
############################################################
# On crée le dossier du plugin sur la zone comme ci-dessus,
# puis on clone ce dossier en local
# l'option -s à la fin est utile si le dépôt SVN a la structure trunk branches tags
git svn clone --prefix=origin/ svn://zone.spip.org/spip-zone/_plugins_/mon_plug -s
# On crée une branche temporaire
git branch svn
# On importe le dépôt git existant (p.ex ici sur github
git remote add github git@github.com:mon_compte_github/mon_plug.git
git pull github master
# Puis on passe tous ces commits git au-dessus du premier commit svn
git rebase svn
# On peut alors effacer la branche temporaire…
git branch -d svn
############################################################
## Travailler sur un plugin existant déjà sur la zone ######
############################################################
# on clone le projet à l'endroit souhaité
# l'option -s à la fin est utile si le dépôt SVN a la structure trunk branches tags
git svn clone --prefix=origin/ svn://zone.spip.org/spip-zone/_plugins_/mon_plug -s
# le mieux est ensuite de se créer une branche locale
git branch local
# et de travailler sur cette branche
git checkout local
# Pour récupérer les nouveautés sur la Zone,
# on repasse sur la branche principale
git checkout master
# et on chope les nouveautés
git svn rebase
# qu'on merge ensuite sur la branche locale
git checkout local
git merge master
# Pour publier ses modifs, on commence par récupérer les
# nouveautés comme ci-dessus…
# Puis on merge la branche locale sur le master
git checkout master
git merge local
# Et on envoie nos commits sur le SVN, chaque commit git va
# créer un commit svn correspondant
git svn dcommit
# On peut ensuite travailler normalement avec git, sauf qu'au lieu de faire des
# "git push", on fera
git svn dcommit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.