Last active
August 14, 2018 12:20
-
-
Save bystrano/5755464 to your computer and use it in GitHub Desktop.
Bosser sur la zone avec git
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
########################################################### | |
## 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 [email protected]: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