Frage svn klare Projekte mit allen Revisionen


Gibt es eine Empfehlung, das Projekt von svn mit allen Revisionen zu löschen (Total Cleanup)?

Prost


5
2018-03-28 10:13


Ursprung


Antworten:


Die Antwort ist in der Subversion-FAQ:

Es gibt spezielle Fälle, in denen Sie   Vielleicht wollen Sie alle Beweise zerstören   eine Datei oder ein Commit. (Vielleicht jemand   Versehentlich ein Geheimnis begangen   Dokument.) Das ist nicht so einfach, denn   Subversion ist bewusst darauf ausgelegt   niemals Informationen verlieren. Überarbeitungen sind   unveränderliche Bäume, die auf einem aufbauen   Ein weiterer. Entfernen einer Revision von   Geschichte würde einen Domino-Effekt verursachen,   Chaos in allen nachfolgenden schaffen   Revisionen und möglicherweise ungültig   alle Arbeitskopien.

Das Projekt hat jedoch Pläne,   Implementiere irgendwann einen Svnadmin   Befehl verwischen, was wäre   Erfülle die Aufgabe von permanent   Löschen von Informationen. (Siehe Ausgabe 516.)

In der Zwischenzeit ist Ihre einzige Zuflucht   zu Svnadmin dump Ihr ​​Repository, dann   Pipe das Dumpfile durch   Svndumpfilter (ohne den schlechten Pfad)   in einen Befehl svnadmin load. Sehen   Kapitel 5 des Subversion Buches für   Details dazu.


6
2018-03-28 10:29



Nein, das glaube ich nicht.

Wenn Sie wirklich Dateien vollständig aus dem SVN-Verlauf entfernen müssen, denke ich, dass die einzige Möglichkeit darin besteht, etwas wie das Deponieren des Repositorys zu tun und die Dateien herauszufiltern, die Sie nicht haben wollen Svndumpfilterund erstellen Sie das Repository anschließend erneut aus dem Speicherauszug.

Warum willst du das machen?


1
2018-03-28 10:19



rm -rf auf dem Repository funktioniert normalerweise gut.


0
2018-03-28 10:16



So funktioniert das unter Linux:

/>svnadmin dump /path/to/repos > proj.dump
/>cat proj.dump | svndumpfilter exclude somefolder > cleanproj.dump
/>service svn stop
/>BACKUP /path/to/repos/conf /path/to/repos/hooks (all custom configuration for this repository)
/>DELETE /path/to/repos
/>svnadmin create /path/to/repos
/>RESTORE /path/to/repos/conf /path/to/repos/hooks
/>svnadmin load /path/to/repos < cleanproj.dump
/>service svn start

erledigt


0
2018-03-28 11:00



Ich gehe davon aus, dass Sie über mehrere Projekte unter demselben Repository sprechen:

myrepo/
      project1/
      project2/

Wenn Sie einfach ein Projekt "verschwinden" lassen möchten, ohne mit der Repository-Historie zu verschmelzen, können Sie diesen Pfad einfach ausblenden, wenn Sie einen Authentifizierungsmechanismus verwenden, der authz verwendet. Mit anderen Worten, du bist es nicht Verwenden von 'svn + ssh' für den Zugriff auf das Repository.

Nehmen wir an, ich habe bereits eine Gruppe in meiner Authz namens "alle". Die in meiner Authz werde ich etwas wie eingestellt:

[/project1]:
    @everyone = 

0
2018-03-29 20:40