Je suis confronté à un problème particulier avec SVN merge
. Je veux fusionner d'une branche de développement à un tronc. Nous avons plusieurs branches de développement coupées du tronc en même temps.
Je fusionne l'une de ces branches avec le tronc avec cette commande:
svn merge trunk branch_1
Je vois des changements qui ne font pas partie de cette branche, fusionnés dans le tronc. Qu'est-ce que je fais mal ?
Version SVN:
Client de ligne de commande Subversion, version 1.6.16-SlikSvn-tag-1.6.16@1076804-WIN32.
svn
version-control
merge
Vanchinathan Chandrasekaran
la source
la source
Réponses:
Votre
svn merge
syntaxe est erronée.Vous souhaitez récupérer une copie de travail de
trunk
, puis utiliser l'svn merge --reintegrate
option:Voir le chapitre du livre SVN sur la fusion pour plus de détails.
Notez qu'au moment où elle a été écrite, 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
la source
--reintegrate
n'est en effet pas obligatoire mais vraiment recommandé dans ce cas. J'ai essayé de m'en passer--reintegrate
et je me suis retrouvé avec des centaines de conflits. Avec--reintegrate
, pas de conflits et tout allait bien!--reintegrate
option est simple et efficace, MAIS il faut noter que "Une fois qu'une--reintegrate
fusion est faite de branche en tronc, la branche n'est plus utilisable pour d'autres travaux. Elle ne peut pas absorber correctement les nouveaux changements de tronc, ni être correctement réintégrée à nouveau. " comme expliqué par le livre que vous avez lié.Si votre répertoire de travail pointe vers le tronc, vous devriez pouvoir fusionner votre branche avec:
assurez-vous d'émettre cette commande dans le répertoire racine de votre coffre
la source
Faites une mise à jour svn dans le coffre, notez le numéro de révision.
Depuis le coffre:
Vous pouvez vérifier où la branche a été coupée du tronc en faisant un journal svn
la source
svn
(comme celle qu'OP utilise).svn://path/to/branch/branchName
cela ne devrait extraire que les modifications de cette branche et non des autres branches. Si c'est le cas, nous sommes en danger!La syntaxe est erronée, elle devrait plutôt être
la source