web-dev-qa-db-fra.com

Fusionner deux révisions de branche en utilisant Subversion

Je souhaite fusionner tous les changements intervenus entre le rév. 10 et le HEAD rév sur http: // url-of-branch-a et les appliquer à http: // url -de-branche-b .

Quelque chose comme...

svn merge -r 10:HEAD http://url-of-branch-a 

Est-ce possible? Si oui, quelle est la syntaxe?

J'exécute le client SVN à partir de la ligne de commande unix. La version du client SVN est 1.4

EDIT: Oui, ma solution spécifique était ...

  1. change le répertoire à l'emplacement de ma copie de travail qui souhaite recevoir les modifications (branche-b)
  2. svn merge -r 10: HEAD http: // url-of-branch-a

Cela fusionne les changements de 'branche-a' en 'branche-b'

91
user62732

Checkout URL A . Utilisez la fusion SVN pour fusionner l'URL B avec votre copie de travail de A .

Ou vice versa bien sûr :)

52
Billy ONeal

Le processus est le suivant:

  1. Établir une copie de travail de la branche B (svn checkout http://branch-b)
  2. Fusionner les modifications de la branche A dans la copie de travail de B (svn merge -r 10:HEAD http://branch-a .)
  3. Valider (après résolution des conflits) la copie de travail B dans la branche b (svn commit)

Consultez la page de manuel (fichier d’aide) pour la sémantique svn merge. Cela vous montre que svn merge vide toujours les résultats dans une copie de travail.

Consultez le SVNBook pour tous les détails.

123
Jamie Hale

Confondez principalement merge en essayant de le faire dans svn repo, nous ne pouvons pas fusionner directement avec svn repo, nous pouvons fusionner avec une copie de travail de la machine locale comme suit:

  • Cette copie de travail doit être destination URL de fusion (c’est-à-dire destination de la caisse). 

  • fusionner la copie de travail avec source URL de fusion.

  • commit à destination. 

Meilleure pratique : Fusionnez, fusionnez.

0
Premraj