Git-SVN

Un article de Wiki.

(Différences entre les versions)
Jump to: navigation, search
Version du 31 décembre 2006 à 14:04
Guyou (Discuter | contribs)

← Différence précédente
Version du 31 décembre 2006 à 15:21
Guyou (Discuter | contribs)
(Connexion d'un dépot GIT à un dépot SVN)
Différence suivante →
Ligne 6: Ligne 6:
$ git-svn fetch $ git-svn fetch
$ git checkout -b local remotes/git-svn $ git checkout -b local remotes/git-svn
- $ git svn dcommit+ 
 += 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-pull git-svn # pour récupérer les modifications sur la branche GIT courante
= Connexion à une branche SVN = = Connexion à une branche SVN =

Version du 31 décembre 2006 à 15:21

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-pull 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