2010-05-16 10 views
7

Die Firma, in der ich arbeite, hat einen großen Serverausfall erlitten. Während dieses Fehlers war das SVN-Repository verloren. Aber es gibt noch Hoffnung! Wir haben eine alte Sicherung des Repository, das ich erfolgreich mit VisualSVN wiederherstellen konnte.VisualSVN Wie wird die Revisionsnummer zurückgesetzt?

Das Problem, mit dem ich jetzt konfrontiert bin, ist, dass ich Pre-Fehler Checkout-Ordner nicht aktualisieren/commit. Der Grund für dieses Problem ist, dass zum Beispiel: ein lokaler Ordner eine Revisionsnummer von 2361 hat, während das Repository selbst eine Revisionsnummer von 2290 enthält, die älter ist.

Gibt es eine Möglichkeit, mit diesem Problem umzugehen? Kann ich ändern, wie die Revisionsnummern auf der lokalen Kopie oder auf der Serverkopie geändert werden?

Einige Punkte:

  • I 1.6.6 TortoiseSVN bin mit.
  • Ich kann Ordner aus dem Repo auschecken und die Verbindung ist aktiv.
  • Ich habe einen meiner Ordner ausgewählt und die Option auf sie verschieben. Dies half mir zu sehen, dass etwas mit der Revisionsnummer
  • nicht stimmt Ich habe ein wenig mit der Zusammenführungsoption experimentiert, aber das führte mich jetzt wo speziell. (Ich bin offen für Anregungen)

Vielen Dank für Ihre Zeit,

Ita

Antwort

4

Sie benötigen Ihr Projekt in eine neue Arbeitskopie zur Kasse, dann verwenden, was Werkzeuge, die Sie haben um die Änderungen in die neue Arbeitskopie zu verschieben.

Sie können die Revisionsnummer einfach nicht zurücksetzen. Ihre aktuelle Arbeitskopie enthält möglicherweise Änderungen, die nicht in der älteren Sicherung des Repositorys enthalten sind, und die Arbeitskopie behandelt sie nicht als "vom Repository abweichend".

Als Ihr Repository verloren ging, gab es auch keine Chance, Ihre aktuelle Arbeitskopie in Einklang zu bringen.

+0

Ich hatte gehofft, diese Lösung zu vermeiden, aber wie es scheint, war es nicht so schlimm. Ich habe diese Zeile verwendet: FOR/F "Token = *" %% G IN ('DIR/B/AD/S * .svn *') DO RMDIR/S/Q "%% G" in einer Batchdatei, um mir zu helfen, die alten .svn-Ordner loszuwerden, die sich in den Ordnern befanden, die ich verschieben musste. Danke für deine Hilfe :) – Ita

+0

Oh, ich habe nicht impliziert, dass du dich bewegen musst, aber das ist sicherlich ein Ansatz. Ich hätte Beyond Compare oder etwas Ähnliches verwendet, um visuell zu sehen, was genau ich mache. Aber wenn alles geklappt hat, mehr Kraft für dich! –

1

Überprüfen Sie die neueste Version des wiederhergestellten Backups in eine Arbeitskopie. Führen Sie einen SVN-Export von einer alten Arbeitskopie durch und kopieren Sie einfach alle Dateien/Ordner auf die zuvor ausgecheckte Arbeitskopie. Dann fügen Sie ein svn hinzu, wenn Sie es benötigen, und legen Sie es fest. Dies sollte alle Änderungen zusammenfassen.

+0

Es ist möglich, dass die aktuelle Arbeitskopie Änderungen enthält, die noch nicht festgeschrieben wurden. –

+0

Ja, das ist genau die Idee meiner Vorschläge, denn es wird alles mitnehmen, was nicht eingecheckt ist usw. (vielleicht muss man die Option --force des Exportbefehls überprüfen). – khmarbaise

Verwandte Themen