Rimuovi file dalla cronologia delle revisioni del repository SVN

Quando lavoriamo su un repository privato utilizzato per i nostri test o sviluppi personali, potremmo caricare alcuni dati privati. I caricamenti di file indesiderati in più commit aumenteranno drasticamente le dimensioni del repository.

Una volta terminato il lavoro di sviluppo e quando decideremo di rendere pubblico il repository, dovremo considerare la rimozione dei dati privati impegnati nel repository in fase di sviluppo.

Possiamo rimuoverlo facilmente dall'applicazione sul nostro computer di sviluppo e dare un commit al repository. Ma i dati rimangono ancora nei commit precedenti.

Qui dobbiamo trovare una soluzione per rimuovere i file dalla cronologia delle revisioni. Se troviamo un metodo efficace per farlo, possiamo anche aiutare i nostri clienti con la gestione delle quote dei repository e anche altro Manutenzione dell'applicazione e supporto.

Ho eseguito alcuni test con l'opzione 'svndumpfilter' e potrei riuscire a trovare una soluzione per rimuovere i file dalla cronologia delle revisioni del repository SVN.

Se qualcuno riscontra un problema con il repository svn oltre la quota o è interessato a rimuovere file indesiderati dalla cronologia, può seguire i passaggi indicati di seguito:

1. Fai un dump del tuo repository.

     svnadmin dump /var/svn/REPOSITORY > dumpfile

2. Filtrare il file di dump.

     svndumpfilter esclude /percorso/del/file/in/rimuovi < dumpfile > nuovodumpfile

Questo rimuoverà il file “/percorso/del/file/da/rimuovere”. Puoi rimuovere più file contemporaneamente in questo modo:

     svndumpfilter esclude file1 file2 < dumpfile > nuovodumpfile

3. Crea un nuovo archivio.

     svnadmin crea /var/svn/REPOSITORY_NEW

4. Importare il file dump nel nuovo repository.

     svnadmin carica /var/svn/REPOSITORY_NEW < nuovodumpfile

5. Sostituisci il vecchio repository con quello nuovo.

    mv /var/svn/REPOSITORY /var/svn/REPOSITORY_OLD

    mv /var/svn/REPOSITORY_NEW /var/svn/REPOSITORY

Per verificarlo, sfoglia la cronologia e vedi uno dei file che hai rimosso, riceverai un errore indicante che il file non è stato trovato. Potrebbe essere necessario effettuare un nuovo checkout e un commit per vedere se tutto funziona come previsto. Se tutto funziona correttamente, possiamo rimuovere i file di dump e il vecchio backup del repository.

Provaci. Saluti!!

Inserito per conto di Sanal Inasu

Mettiti in contatto con noi.

Iscriviti per gli ultimi aggiornamenti

Articoli correlati

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

it_ITItalian