In einem Projekt, an dem ich arbeite, wurde eine Reihe von Fehlern gemacht. Wie kann ich auf eine bekannte funktionierende Version zurückgreifen und darauf aufbauen? Angenommen, ich bin in Revision 15, aber ich möchte zur Revision 10 zurückkehren - und ab 10 weiterarbeiten. Ich benutze Zend Studio.
Kann ich in SVN vorhandene Revisionen löschen?
Von der Kommandozeile aus:
svn up -r [revision_number]
Wobei [Revisionsnummer] die Revision ist, zu der Sie zurückkehren möchten.
Und nein, Sie können keine Revisionen löschen, die bereits in SVN vorhanden sind.
Sie können einfach eine Aktualisierung der Revision mithilfe von durchführen
svn up -r 10
Aber wie Christoph vorgeschlagen hat, wird dies Sie dürfen die Änderungen nicht übernehmen da SVN Sie benötigt, um Ihre Arbeitskopie auf HEAD zu aktualisieren, bevor Sie eine Übernahme durchführen können. Was Sie stattdessen tun können, ist
svn merge -r HEAD:10 yourFile
svn ci yourFile -m "Reverting back to rev 10"
Drei Möglichkeiten:
Zusammenführen umkehren: (am schnellsten, behält schlechte Überarbeitungen bei, fügt neue Überarbeitung hinzu)
svn merge $(REPO)@$(GOODREV) $(WC)
SVN-Dump: (entfernt fehlerhafte Revisionen vollständig)
svnadmin dump $(REPO) -r 1:$(GOODREV) > dumpfile
svnadmin load $(NEWREPO) < dumpfile
# Now delete $(REPO), and use $(NEWREPO)
Handbearbeitung: (entfernt fehlerhafte Revisionen, unsicher, letzter Ausweg)
Der einzige Grund, warum Sie dies benötigen, ist, dass Sie aus irgendeinem Grund auf Dateiebene Zugriff auf das Repository haben, jedoch keinen Shell-Zugriff. Beachten Sie, dass dies nur auf SVN 1.6 und 1.7 getestet wurde.
$(GOODREV)
(Wenn Sie HEAD
belassen, kann sie nach Abschluss des Vorgangs nicht mehr verwendet werden.)db/current
in $(GOODREV)
. Vergewissern Sie sich, dass Sie das Zeilenende LF
nicht ändern.db/revs/*/*
und db/revprops/*/*
, die> $(GOODREV)
sind.db/rep-cache.db
löschenHEAD
, das jetzt $(GOODREV)
entsprechen sollte.Beachten Sie, dass Sie bei Verwendung von TortoiseSVN auch die folgenden Schritte ausführen müssen:
%APPDATA%\TortoiseSVN\logcache\*
TSVNCache.exe
über den Task-Manager. (Normalerweise gibt es einen, aber könnte unter WinVista + aufgrund der UAC-Sicherheit 2 sein, wodurch verhindert wird, dass Anwendungen mit erhöhten Rechten mit einem nicht erhöhten TSVNCache.exe
interagieren. Beim ersten Öffnen Ein Save As...
-Dialog aus einer erhöhten Anwendung, ein erhöhter TSVNCache.exe
wird erzeugt.)Dies behebt die seltsame Protokollanzeige, die dadurch verursacht wird, dass der Cache von TortoiseSVN in Konflikt mit dem neuen Repo-Status steht.
Laden Sie die Dokumente von der TortoiseSVN-Niederlassung ab.
Ich benutze Methode 2 und arbeite gut auf meiner Seite.
https://tortoisesvn.net/docs/nightly/TortoiseSVN_de/tsvn-howto-rollback.html