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