web-dev-qa-db-fra.com

Fusionner un tronc avec une branche dans Subversion

J'utilise Subversion 1.4.6 et je ne peux pas passer à la version 1.5 pour le moment.

La situation:

  1. Le coffre présente de nombreux changements structurels (par exemple, le déplacement de fichiers, principalement).

  2. J'ai une branche récemment fusionnée du coffre, mais avant les changements majeurs.

Quel est le meilleur moyen de fusionner le tronc avec la branche?

Ce que j'avais en tête:

  1. Commencez par fusionner soigneusement la branche avec le tronc en fusionnant uniquement les fichiers modifiés de la branche avec le tronc.

  2. Copiez le coffre dans la branche. Quelle est la meilleure façon de faire cela sans perdre l'historique de la branche? Devrais-je déprécier la branche et en créer une nouvelle?


D'accord, il semblerait que je n'ai pas donné assez de crédit à SVN. C'est assez intelligent après tout. La sortie de "D" et de "A" m'a juste déconcertée, mais en arrière-plan, elle a été déplacée.

75
Gilad Naor

Y at-il quelque chose qui vous empêche de fusionner toutes les révisions sur le tronc depuis la dernière fusion?

svn merge -rLastRevisionMergedFromTrunkToBranch:HEAD url/of/trunk path/to/branch/wc

devrait fonctionner très bien. Du moins si vous souhaitez fusionner toutes les modifications sur le tronc de votre branche.

87
Stefan

La dernière révision fusionnée du tronc à la branche peut être trouvée en exécutant cette commande dans le répertoire de la copie de travail:

svn log -v --stop-on-copy
16
Anonymous

C'est une manière "à l'ancienne" de spécifier les plages de révisions que vous souhaitez fusionner. Avec 1.5+, vous pouvez utiliser:

svn merge HEAD url/of/trunk path/to/branch/wc
11
Markku