In Eclipse Ganymede (Subclipse)
Wählen Sie ein Projekt / eine Datei mit fehlerhaften Änderungen aus und wählen Sie im Popup-Menü Folgendes aus:
Team -> Verlauf anzeigen
Revisionen, die sich auf dieses Projekt / diese Datei beziehen, werden auf der Registerkarte Verlauf angezeigt.
Suchen Sie nach einer Revision, bei der "fehlerhafte Änderungen" vorgenommen wurden, und wählen Sie im Popup-Menü Folgendes aus:
Änderungen von Revision X zurücksetzen
Dadurch werden Änderungen an Dateien, die innerhalb einer fehlerhaften Revision geändert wurden, mit einer Revision vor einer fehlerhaften Revision zusammengeführt.
Hier gibt es zwei Szenarien:
Wenn Sie keine Änderungen für diese Datei festgeschrieben haben (fehlerhafte Revision ist die letzte Revision für diese Datei), werden einfach Änderungen entfernt, die bei fehlerhafter Revision vorgenommen wurden. Diese Änderungen werden mit Ihrer Arbeitskopie zusammengeführt, sodass Sie sie festschreiben müssen.
Wenn Sie einige Änderungen für diese Datei vorgenommen haben (eine fehlerhafte Revision ist nicht die letzte Revision für diese Datei), müssen Sie den Konflikt manuell lösen. Angenommen, Sie haben die Datei readme.txt mit und die falsche Revisionsnummer ist 33. Außerdem haben Sie in Revision 34 ein weiteres Commit für diese Datei vorgenommen. Nachdem Sie Änderungen aus Revision 33 zurücksetzen ausgewählt haben, wird in Ihrer Arbeitskopie Folgendes angezeigt:
readme.txt.merge-left.r33 - schlechte Revision
readme.txt.merge-right.r32 - vor einer schlechten Revision
readme.txt.working - Arbeitskopieversion (wie in r34, wenn Sie keine nicht festgeschriebenen Änderungen haben)
Die ursprüngliche readme.txt wird als konfliktreich markiert und enthält eine zusammengeführte Version (bei der Änderungen aufgrund einer fehlerhaften Revision entfernt werden) mit einigen Markierungen (<<<<<<< .working usw.). Wenn Sie nur Änderungen aus einer fehlerhaften Revision entfernen und danach vorgenommene Änderungen beibehalten möchten, müssen Sie nur die Markierungen entfernen. Andernfalls können Sie Inhalte aus einer der drei oben genannten Dateien in die Originaldatei kopieren. Was auch immer Sie wählen, wenn Sie fertig sind, markieren Sie den Konflikt gelöst durch
Team - Mark gelöst
Temporäre Dateien werden entfernt und Ihre Datei wird als geändert markiert. Wie in 1 müssen Sie Änderungen festschreiben.
Beachten Sie, dass dadurch die Revision nicht aus dem Revisionsverlauf im SVN-Repository entfernt wird. Sie haben einfach eine neue Revision vorgenommen, bei der Änderungen von einer fehlerhaften Revision entfernt werden.