Frage

Pro Unfall habe ich zweimal begangen, weil ich vergessen habe, zwei Dateien hinzuzufügen.Kann ich ein bestimmtes Commit aus dem Protokoll entfernen?

Screenshot des Protokolls

Ich möchte Commit № 4 löschen.

War es hilfreich?

Lösung

Die einfache Antwort lautet "Nein", da Subversion nicht weiß, wie der Fall gelöst werden kann, wenn Sie ein Commit hinzufügen, eine andere Person ihre Kaufabwicklung aktualisiert und das Commit dann aus dem Verlauf entfernt.Möglicherweise gibt es eine komplexe Antwort, die eine Operation am Subversion-Speicher beinhaltet.

Andere Tipps

  1. AFAICS, Sie haben nicht r4 gelöscht, sondern mit r5 zusammengeführt, ja?
  2. Im Allgemeinen ist der SVN-Commit-Verlauf unveränderlich, wie Sii sagte - und wenn Sie Keine Rechte zum Löschen / Erstellen eines Repos - Sie können nichts tun.

    Wenn Sie das aktuelle Repo löschen und ein neues mit neuem Verlauf erstellen können, können Sie Folgendes versuchen:

    • svnadmin dump, um für den Menschen lesbar zu werden (kaum, muss ich sagen) Repository-Dump, Grok-Format und Edit-Dump, Repo löschen, svnadmin load um das Repo neu zu erstellen
    • Eine andere Idee ist (anstatt den Dump zu bearbeiten) eine andere SCM, das eine Brücke zu SVN hat (hg + MQ (histedit) + hg-git, z Sie können Repo erhalten und Änderungssätze falten / löschen.Zum Ersetzen altes Repository - siehe S.2 oben

In Ihrem Fall muss nur der mit Commit Nr. 4 verknüpfte Commit-Kommentar geändert werden, um die tatsächlich vorgenommenen Änderungen widerzuspiegeln.Sie können dies mit Subversion tun, indem Sie die SVN-Repository-Konfiguration ändern.Weitere Informationen finden Sie in den Subversion-FAQ .

Warum?Lassen Sie Subversion die Geschichte behalten - dafür ist es da.Checken Sie früh und oft ein.Commit # 4 muss nicht gelöscht werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top