Freisetzung Platz in meiner SVN-Repository
-
27-09-2019 - |
Frage
Ich habe eine SVN-Repository auf einer Freemium-Website mit einer maximalen Größe Repository gehostet. Als ich diese Fähigkeit Ansatz in mir bewusst Dateien, die ich überprüft habe, dass ich weiß, dass ich permanent Speicherplatz entfernen freizugeben. Wie kann ich SVN sagen, dass eine Datei nicht nur gelöscht werden kann, aber es ist die Geschichte als auch?
Lösung
Ich glaube nicht, es gibt einen Weg in Subversion nicht eine bestimmte Datei oder zumindest auf der Version zu sagen vergessen, über eine Datei, wenn gelöscht. Da es dem Zweck der Versionskontrollsystem. Sie werden in der Lage sein, dies durch einige Verbesserungen zu erreichen, wenn Sie ein lokales Repository haben. Jedoch ohne Admin-Zugriff für das Repository, geht auf sein unmöglich zu sein, dies zu tun.
Wenn es hilft, rsvndump ist ein Werkzeug, ein Abbild einer Remote-Repository zu übernehmen. Damit können Sie das Repository-Dump auf Ihrem lokalen System erhalten. So entfernen Sie die unerwünschten Dateien, die Sie diesen Befehl verwenden können "cat xxx-Svn-Dump | svndumpfilter $ Datei ausschließen> new-Svn-Dump". Obwohl mit diesem können Sie die Größe des Repository reduzieren, werden Sie nicht in der Lage sein, den ursprünglichen Repository mit diesem Inhalt zu aktualisieren.
Andere Tipps
Blick auf diese:
http://subversion.apache.org/faq.html#removal sagt:
Es gibt spezielle Fälle, in denen Sie Vielleicht möchten Sie alle Beweise vernichten eine Datei oder begehen. (Vielleicht jemand begangen versehentlich eine vertrauliche Dieses Dokument.) Ist nicht so einfach, denn Grabung absichtlich ausgelegt Verlieren Sie nie Informationen. Revisionen sind unveränderliche Bäume ein, die baut auf Ein weiterer. Entfernen einer Revision aus Geschichte verursachen würde einen Dominoeffekt, Schaffung Chaos in allen späteren Revisionen und möglicherweise ungültig gemacht alle Arbeitskopien.
Mögliche Lösung in dieser SO Antwort:
Sie können auch Ihre Geschichte beschneiden. Sagen Sie bitte 100 Revisionen haben, können Sie die neueste Geschichte halten, sagen 50 Revisionen. Dies kann auch die Größe Ihrer Subversion-Repository reduzieren.
svnadmin dump /path/to/current/repo -r50:100 > newsvn.dump
# you can delete the old repo and then
svnadmin create /path/to/new/repo
svnadmin load /path/to/new/repo < newsvn.dump
Wenn Sie ohne Ihre begehen Geschichte leben können, können Sie den Code Kasse, das aktuelle Repository entfernen, eine neue repos erstellen und dann den Code in ein neues Repository begehen.