135 votes

Fusionner une branche dans le tronc

Je suis confronté à un problème particulier avec SVN. merge . Je veux fusionner d'une branche de développement vers le tronc. Nous avons plusieurs branches de développement coupées du tronc en même temps.

Je fusionne une de ces branches avec le tronc avec cette commande :

svn merge trunk branch_1

Je vois que des changements qui ne font pas partie de cette branche sont fusionnés dans le tronc. Qu'est-ce que je fais de mal ?

Version SVN :

Client de ligne de commande Subversion, version 1.6.16-SlikSvn-tag-1.6.16@1076804-WIN32.

229voto

blahdiblah Points 17382

Votre svn merge La syntaxe est fausse.

Vous voulez vérifier une copie de travail de trunk et ensuite utiliser le svn merge --reintegrate option :

$ pwd
/home/user/project-trunk

$ svn update  # (make sure the working copy is up to date)
At revision <N>.

$ svn merge --reintegrate ^/project/branches/branch_1
--- Merging differences between repository URLs into '.':
U    foo.c
U    bar.c
 U   .

$ # build, test, verify, ...

$ svn commit -m "Merge branch_1 back into trunk!"
Sending        .
Sending        foo.c
Sending        bar.c
Transmitting file data ..
Committed revision <N+1>.

Voir le Chapitre du livre SVN sur la fusion pour plus de détails.


Notez qu'à l'époque où il a été écrit, c'était la bonne réponse (et elle a été acceptée), mais les choses ont évolué. Voir la réponse de topek, et http://subversion.apache.org/docs/release-notes/1.8.html#auto-reintegrate

81voto

topek Points 8288

Si votre répertoire de travail pointe vers le tronc, alors vous devriez pouvoir fusionner votre branche avec :

svn merge https://HOST/repository/branches/branch_1

Assurez-vous de lancer cette commande dans le répertoire racine de votre tronc.

17voto

Mike K. Points 2194

Faites une mise à jour svn dans le tronc, notez le numéro de révision.

Du tronc :

svn merge -r<revision where branch was cut>:<revision of trunk> svn://path/to/branch/branchName

Vous pouvez vérifier où la branche a été coupée du tronc en faisant un svn log.

svn log --stop-on-copy

1voto

lwpro2 Points 5331

La syntaxe est incorrecte, elle devrait plutôt être

svn merge <what(the range)> <from(your dev branch)> <to(trunk/trunk local copy)>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X