526 Stimmen

Wie kann ich zu einer älteren Version unseres Codes in Subversion zurückkehren?

Ich arbeite mit einem Freund an einem Projekt und möchte zu einer älteren Version unseres Codes zurückkehren und diese zur aktuellen Version machen. Wie kann ich das tun?

Ich verwende "anksvn" auf vs08.

Ich habe die gewünschte Version auf meinem PC, aber die Übertragung schlägt fehl; ich erhalte folgende Meldung "Übertragen ist fehlgeschlagen, Datei oder Verzeichnis ist veraltet."

Ich habe auch den Subversion-Client auf meinem PC.

842voto

Jon Skeet Punkte 1325502

Grundsätzlich müssen Sie "rückwärts zusammenführen" - einen Vergleich zwischen der aktuellen und der vorherigen Version durchführen zu die aktuelle Version (so dass Sie am Ende eine Arbeitskopie haben, die wie die alte Version aussieht) und übertragen Sie dann erneut. So können Sie zum Beispiel von Revision 150 (aktuell) zurück zu Revision 140 gehen:

svn update
svn merge -r 150:140 .
svn commit -m "Rolled back to r140"

Das Subversion Red Book hat eine guter Abschnitt über dieses Thema .

35voto

M.Othman Punkte 4882

Verwenden Sie einfach diese Zeile

svn update -r yourOldRevesion

Sie können Ihre aktuelle Revision ermitteln, indem Sie verwenden:

svn-Informationen

9voto

Yauhen Yakimovich Punkte 12897

Ein bisschen mehr old-school

svn diff -r 150:140 > ../r140.patch
patch -p0 < ../r140.patch

dann das übliche

svn diff
svn commit

5voto

hpal Punkte 51

Ich denke, das ist am besten geeignet:

Führen Sie die Zusammenführung rückwärts durch, zum Beispiel, wenn der übergebene Code die Revision von rev 5612 bis 5616 enthält, fügen Sie ihn einfach rückwärts zusammen. Bei mir funktioniert das.

Zum Beispiel:

svn merge -r 5616:5612 https://<your_svn_repository>/

Es würde einen zusammengefassten Code enthalten, der auf eine frühere Revision zurückgeht, und Sie könnten ihn dann übertragen.

4voto

Ziya Punkte 680

Das habe ich getan und es hat funktioniert.

Ich möchte die Änderungen in mehreren Commits rückgängig machen, die ich zu bestimmten Zeiten vorgenommen habe, und zum vorherigen Commit-Punkt zurückkehren.

  1. Gehen Sie zu Team -> Verlauf anzeigen.
  2. Klicken Sie mit der rechten Maustaste auf die oder den Bereich von Revisionen, die Sie ignorieren möchten.
  3. Wählen Sie die Option "Änderungen rückgängig machen".

Dadurch wird eine umgekehrte Zusammenführung durchgeführt, die die Änderungen in Ihrer Arbeitskopie rückgängig macht.

Überprüfen Sie einfach den Code und bestätigen Sie ihn.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X