SVN: fusioniert lokale Änderungen in andere Arbeitskopie
-
01-10-2019 - |
Frage
Ich habe zwei Arbeitskopien des gleichen Projektes wechselte jeweils einen anderen Zweig. Ist es möglich, lokale Änderungen in einem Projekt zur anderen Arbeitskopie zusammenführen?
Lösung
Sie können nicht fusionieren zwei getrennte Arbeitskopien, aber es gibt einige Dinge, die Sie tun können.
Wenn die Änderungen an vorhandenen Dateien vorgenommen werden, ist der einfachste Weg, einen Patch mit svn diff
zu erstellen, und wenden Sie dann genau das Pflaster auf die anderen Arbeitskopie. Z.B. in dem ersten Arbeits kopieren Sie tun:
svn diff > patch
Und dann Sie es in der anderen gelten:
patch -p0 < patch
Und wie immer wollen Sie patch
mit der --dry-run
Option ausführen, um sicherzustellen, es funktioniert zuerst.
Allerdings, wenn die Zweige nicht das gleiche Datei-Layout haben, dann können Sie nicht nur einen Patch nehmen und anwenden. In diesem Fall, was Sie tun müssen, ist einfach nur zuerst die anderen lokalen Änderungen zu übernehmen, und dann svn merge
wie üblich
Andere Tipps
Sie können einen Patch auf einer Arbeitskopie (svn diff
) und es auf den anderen (patch
) erstellen.
http: // ariejan .net / 2007/07/03 / how-to-create-und-apply-a-Patch-mit-subversion /
Wenn Sie Ihre Änderungen Deletionen, GNU Patch verwendet wird nicht schneiden. Wenn Sie die Änderungen an beiden Zweigen begangen wollen, verpflichten sie in einem, dann svn diese Änderungen an den anderen Zweig zusammenführen. Wenn Sie die Änderungen in Zweig A tat und müssen sie in Zweig B statt, SVN Ihre Niederlassung Eine Arbeitskopie auf Zweig B wechseln.