2009-10-03 6 views
7

Ich habe gerade angefangen, an einem SVN-Repo an einigen Änderungen gegen den Stamm zu arbeiten und dachte, sie wären etwas klein. Jetzt beginne ich zu erkennen, dass ich wahrscheinlich gerade eine neue Filiale gegründet haben sollte. Anstatt eine Verzweigung zu machen und dann jedes einzelne Teil in sie zu verschieben, gibt es irgendeine Möglichkeit, eine neue Verzweigung zu machen und dann die Änderungen in meiner Arbeitskopie zu übernehmen?Gibt es eine Möglichkeit, Änderungen, die ich an meinem SVN Checkout von Trunk gemacht habe, an eine Verzweigung zu übergeben?

Antwort

13
  1. eine Niederlassung von dem Ort, wo Sie
  2. Schalter in die neu geschaffene Niederlassung Entwicklung begann
  3. die lokalen Änderungen zu übernehmen (auf den neuen Zweig begehen)

MACHEN SIE NICHT JEDER KASSE

Ich mache es mit SVN 1.6.5, es funktioniert ohne Probleme, aber wenn Sie wirklich paranoid sind, könnten Sie folgendes tun:

  1. erstellen einen Patch aus der aktuellen Arbeitskopie
  2. erstellen Zweig
  3. Schalter, um es
  4. wenden Sie den Patch
  5. begehen
+0

Das einzige Problem ist, dass die Verzweigung von meiner Arbeitskopie scheint nie gut für mich zu arbeiten. Ich nehme an, ich sollte die zweite Stufe versuchen. –

+0

Eigentlich Verzweigung kann ohne Arbeitskopie erfolgen. Wenn Sie TortoiseSvn zum Beispiel mit dem Repository-Browser oder über die Befehlszeile verwenden. – jdehaan

+0

Ich wollte eine Referenz posten, aber svnbook.red-bean.com scheint im Moment zumindest aus Europa nicht erreichbar zu sein ... – jdehaan

2

Was ist ein Patch von Ihrer aktuellen Arbeit mit svn diff Schaffung , dann einen neuen Zweig machen und den Patch mit patch -p0 auf den Zweig anwenden?

2

Mit dem Befehl svn copy können Sie den Status Ihrer Arbeitskopie direkt in eine URL verzweigen. Der erstellte Zweig enthält die lokalen Änderungen.

Einige gotchas:

  • können Sie Fehler erhalten etwas unter Angabe wie "Datei existiert bereits". Dies ist , verursacht durch eine fehlende Übereinstimmung der Basisrevisionen in Ihre Arbeitskopie, genauer zwischen einer Datei und dem übergeordneten Ordner. Eine mögliche Lösung ist eine svn update vor versuchen, auf diese Weise zu verzweigen.
  • nach der svn copy, wird die funktionierende Kopie unverändert bleiben. Es wird immer noch auf den Kofferraum zeigen. Es wird auch weiterhin die lokalen Änderungen in seinem Status angezeigt. Sie sollten zuerst diese Änderungen wiederherstellen, ob Sie weiterhin die Arbeitskopie verwenden, wie es ist, oder wechseln Sie es in den neuen Zweig.
Verwandte Themen