SVN: fusionner les changements locaux dans d'autres copie de travail
-
01-10-2019 - |
Question
J'ai deux copies de travail du même projet, chaque commutation vers une autre branche. Est-il possible de fusionner les changements locaux dans un projet à l'autre copie de travail?
La solution
Vous ne pouvez pas fusionner deux copies de travail séparées, mais il y a certaines choses que vous pouvez faire.
Si les modifications sont apportées aux fichiers existants, le plus simple est de créer un patch avec svn diff
, puis il suffit d'appliquer ce patch à l'autre copie de travail. Par exemple. dans la première copie de travail que vous faites:
svn diff > patch
Et vous appliquez ensuite dans l'autre:
patch -p0 < patch
Et comme d'habitude que vous voulez exécuter patch
avec l'option --dry-run
pour vous assurer qu'il fonctionne d'abord.
Toutefois, si les branches ne sont pas la même mise en page de fichier, vous ne pouvez pas prendre juste un patch et l'appliquer. Dans ce cas, ce que vous devez faire est tout simplement d'abord engager les autres changements locaux, et ensuite utiliser svn merge
comme d'habitude
Autres conseils
Vous pouvez créer un patch sur une copie de travail (svn diff
) et l'appliquer à l'autre (patch
).
http: // ariejan .net / 2007/07/03 / how-to-create-et-appliquer un patch avec-subversion /
Si vos modifications comprennent les suppressions, en utilisant GNU patch ne sera pas coupé. Si vous voulez que les changements engagés dans les deux branches, les engager dans l'un, puis fusionner svn ces changements à l'autre branche. Si vous avez fait des changements dans la branche A et ont besoin dans la branche B à la place, svn changer votre succursale Une copie de travail à la branche B.