svn macht Änderungen im Repository rückgängig, jedoch nicht lokal

1604
bguiz

Was ich hier suche, ist, wie man Svn so manipulieren kann, dass meine vorherige Festschreibung für das Repository effektiv rückgängig gemacht wird, ohne die lokal vorgenommenen Änderungen zu beeinflussen.

Sagen wir, ich mache das:

$ svn ci abc.java -m "Updated abc" Sending abc.java Transmitting file data . Commited revision 123 

Und dann merke ich, dass ich das Update noch nicht im Repository durchführen möchte, sondern die Änderungen, die ich lokal vorgenommen habe, beibehalten möchte. Ich möchte, dass meine lokalen Dateien gleich bleiben, aber die Dateien im Repository kehren zur Revision 122 zurück.

Ich habe nur einen Weg gefunden, um dies zu erreichen, die umgekehrte Zusammenführung:

$ svn merge -c -123 abc.java --- Reverse-merging r123 into 'integer.c': U integer.c $ svn commit -m "Undoing last change: rev 123." Sending abc.java Transmitting file data . Committed revision 124. 

Leider bedeutet das, dass ich meine lokalen Dateien an anderer Stelle kopieren muss, bevor ich die umgekehrte Zusammenführung durchführen kann, und dann meine lokale Datei nach dem Festschreiben zurückkopieren.

Ich habe mich gefragt, ob es einen weniger umständlichen Weg gibt, bei dem die Operationen nur im Repository stattfinden.

Vielen Dank

1

1 Antwort auf die Frage

2
SleighBoy

1. Neue Repo-Kopie auschecken

2. Run:

svn merge -rHEAD:XXXX 

(XXXX ist die Revision, bevor Sie sich soeben verpflichtet haben)

3. Commit

4. Löschen Sie das neu ausgecheckte Repo

Oooh Netter! Ich kann nicht glauben, dass ich nicht daran gedacht habe. Vielen Dank! bguiz vor 14 Jahren 0