Archiv für den Monat: Mai 2011

Dateien aus Subversion History löschen

Im Eifer des Gefechts kann es vorkommen, dass sensible Daten versehentlich commitet werden und für andere zugänglich im Repository landen. Die Dateien und Ordner einfach wieder zu löschen reicht nicht, da die Daten noch in der History der jeweiligen Revision vorliegen. Wie man das Repository doch davon befreien kann sei hier erklärt:

  1. Dump des alten Repository
    1. svnadmin dump /path/to/svn/Repo > repoDump
  2. Löschen der sensiblen Daten aus dem Repository Dump
    1. cat repoDump | svndumpfilter exclude trunk/passwd trunk/secrets/  > repoDump-clean
  3. Erstellen eines neuen Repositorys
    1. svnadmin create /path/to/svn/newRepo
  4. Importieren des bereinigten Dumps in das neue Repository
    1. svnadmin load /path/to/svn/newRepo/< repoDump-clean

Das zentrale Werkzeug, dass hier zum Einsatz kommt und mühselige Handarbeit erspart ist svndumpfilter. Weitere Infos findest du unter http://svnbook.red-bean.com/en/1.1/ch05s03.html#svn-ch-5-sect-3.1.3.