Git-SVN
Un article de Wiki.
Version du 31 décembre 2006 à 15:21 Guyou (Discuter | contribs) (→Connexion d'un dépot GIT à un dépot SVN) ← Différence précédente |
Version actuelle Guyou (Discuter | contribs) (→Mise à jour locale) |
||
Ligne 14: | Ligne 14: | ||
Des modifications on été archivées par d'autres développeurs sur le dépot SVN. Il faut les récupérer en local. | Des modifications on été archivées par d'autres développeurs sur le dépot SVN. Il faut les récupérer en local. | ||
$ git-svn fetch # pour mettre à jour le mirroir local | $ git-svn fetch # pour mettre à jour le mirroir local | ||
- | $ cg-pull git-svn # pour récupérer les modifications sur la branche GIT courante | + | $ cg-merge git-svn # pour récupérer les modifications sur la branche GIT courante |
= Connexion à une branche SVN = | = Connexion à une branche SVN = |
Version actuelle
Utilisation de GIT en frontal de SVN.
Sommaire |
Connexion d'un dépot GIT à un dépot SVN
$ git init-db $ git-svn init <url> $ git-svn fetch $ git checkout -b local remotes/git-svn
Mise à jour distante
On a fait des modifications en local (dans le dépot GIT) et on veut les pousser vers le dépot SVN.
$ git-svn dcommit
Mise à jour locale
Des modifications on été archivées par d'autres développeurs sur le dépot SVN. Il faut les récupérer en local.
$ git-svn fetch # pour mettre à jour le mirroir local $ cg-merge git-svn # pour récupérer les modifications sur la branche GIT courante
Connexion à une branche SVN
Supposons que l'on souhaite, en plus d'être connecté au "trunk", se connecter à une branche du dépot SVN. Supposons que cette branche se nomme "mabranche" et ait pour URL : <url>/branches/mabranche. Comme il s'agit de la deuxième branche SVN, il faut absolument indiquer un identificateur. Pour l'exemple, on choisit de préfixer le nom de la branche SVn par "svn-" soit svn-mabranche.
$ git-svn -i svn-mabranche init <url>/branches/mabranche $ git-svn -i svn-mabranche fetch
Dans l'hypothèse où un travail avait été amorcé en prévision de cette branche, mais sur une branche du dépot GIT, le plus pratique serait de "déplacer" la branche GIT pour la baser sur la branche connectée à la branche SVN.
$ git rebase --onto svn-mabranche master mabrance-sur-GIT