Frage

Ich verwende ein Subversion -Repository, das mir kostenlos von einer großzügigen Website gegeben wurde. Dies bedeutet, dass ich nur 200 MB für das Repository arbeiten kann. Ich beschwere mich jedoch nicht, weil ich dies für ziemlich großzügig und mehr als angemessen für meine Quellcodeanforderungen halte.

Allerdings habe ich gelegentlich Subversion für speicherlastere Dateitypen verwendet, einfach weil das System ist, wenn ich in der Zeit zurückkehren möchte, um die Dinge auszuarbeiten. Ich bin eine eher unorganisierte Person, und so etwas wie ein dediziertes Versionskontrollsystem, das mir hilft, Dinge zu sortieren, ist wirklich sehr hilfreich.

Ich frage mich also, ob mein Repository in der Cloud an einer großen Datei "festhält", die ich versehentlich zur Versionskontrolle hinzugefügt habe. Angenommen, ich füge einem Subversion -Repository mehrere große Dateien hinzu (sagen wir eine Vielzahl von 2 MB JPEGs). Ich könnte sie zusätzlich leicht ein wenig in einem nachfolgenden Commit bearbeiten und einige unnötig ausführliche Commit -Nachrichten -Kommentare für das Protokoll angeben. Dann merke ich, dass ich keinen dieser JPEGs mehr will und sie lösche.

Da ich in der Lage sein sollte, das Repository bei einer früheren Festnummernummer zu überprüfen, einschließlich natürlich der, bei dem ich die Dateien ursprünglich hinzugefügt habe, bedeutet dies, dass das tatsächliche Repo auch dann weiterhin, wenn ich sie aus dem Repo lösche, weiterhin festhält Für immer für sie für immer, wenn es darum geht, die Möglichkeit zu gewährleisten, nachzukommen?

Wenn dies der Fall ist, stelle ich mir vor, dass es eine Bestimmung zum Löschen dieser Daten gibt? Wenn mein Repo mit dieser Art von "verfügbaren" Daten aufgebläht wird (zum Beispiel habe ich meine 200 -MB -Quote ausgeht und mein Repo immer noch ein bisschen mehr für meine Programmierzwecke verwenden) etwas Weg für mich, das Fett auszuschneiden?

Entschuldigung, dass Sie das Thema nicht im Voraus untersucht haben. Es ist spät.

War es hilfreich?

Lösung

Das Repo wird definitiv an den Daten festhalten. Der richtige technische Begriff ist ausgelöscht. Hier ist ein Verknüpfung Warum diese Funktion bei Subversion nicht vorhanden ist.

Es wird auch in den nächsten Versionen 1.7 / 1.8 nicht geliefert. Die Roadmap für Subversion ist hier.

Da Sie gehostete Subversion verwenden, erkundigen Sie sich mit dem Host, ob der Befehl svndumpFilter auf dem Server remote ausgeführt werden kann.

Andere Tipps

Ja, es würde immer noch im SVN -Repo gelöscht.

Bedeutet das, dass das tatsächliche Repo, selbst wenn ich sie später aus dem Repo lösche, weiterhin für immer an ihnen festhält, um die Möglichkeit zu gewährleisten, zu überprüfen?

Ja

Wenn dies der Fall ist, stelle ich mir vor, dass es eine Bestimmung zum Löschen dieser Daten gibt?

Nein, da ist kein. Sie können das Repository jedoch in eine Datei ablegen, die Dinge, die Sie nicht möchten, abschneiden, die Revisionen renumerotieren und es wieder in ein neues Repository laden. Aber pass auf dich auf ... es gibt welche Filterwerkzeug verfügbar, um diese Aufgabe auszuführen. Der Befehl heißt svndumpfilter.

Das Quellvertretungssystem macht sich viel Mühe, um sicherzustellen, dass Sie zu jedem Zeitpunkt zurückkehren können und dass alle Daten, wie es früher war, unter dieser speziellen Revisionsnummer zur Verfügung stehen.

Der springende Punkt der Versionskontrolle besteht darin, sicherzustellen, dass nichts jemals dauerhaft gelöscht oder überschrieben wird. Daher entzieht sie eine Datei "Löschen", sondern entzieht sie nur aus Ihrer aktuellen Ansicht, nicht für die vorherige Ansicht. Für die vorherige Ansicht wird es immer noch da sein.

Es gibt Methoden, um unabhängige Gegenstände manuell zu entfernen, aber sie sind tendenziell weit davon entfernt, benutzerfreundlich zu sein.

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