web-dev-qa-db-fra.com

SVN fusionne les révisions de fichiers individuels d'une branche dans le tronc

J'ai quelques corrections que j'ai faites sur une branche que je veux réintégrer dans le tronc. Je ne veux pas fusionner toute la branche dans le tronc, juste les quelques enregistrements de branche que j'ai effectués. Quelle est la syntaxe correcte pour cela?

TY, Fred

38
fred basset

Je ne sais pas exactement ce que vous demandez car le titre parle de fusionner des fichiers simples, mais le texte de la question parle de révisions simples. En cas de fusion de révisions uniques, vous avez besoin de: (pour fusionner les modifications validées dans les révisions 100, 105, 115)

cd trunk
svn merge -c 100 -c 105 -c 115 http://..../branches/mybranch .

Si vous souhaitez fusionner uniquement la partie de la révision 100 qui affecte file.cpp:

cd trunk/path/to/file.cpp
svn merge -c 100 http://../branches/mybranch/path/to/file.cpp file.cpp
37
the_mandrill

Vous souhaitez fusionner toute la branche. À partir de svn 1.5, les informations sur ce qui a été fusionné sont stockées dans le référentiel - dans le svn:mergeinfo propriété. Si vous fusionnez un fichier individuel svn:mergeinfo sera placé profondément dans l'arborescence. Lorsque quelqu'un essaie de faire une fusion à partir du haut du projet, svn:mergeinfo n'existera pas et ils devront décider de prendre cet ensemble de modifications. Si vous ne voulez vraiment pas qu'il soit fusionné, vous devez fusionner à partir du haut du projet, puis valider uniquement le répertoire de niveau supérieur (svn:mergeinfo sera la seule modification) et le fichier souhaité.

Bien plus que quiconque n'a jamais voulu savoir sur mergeinfo

2
thekbb