Come cancellare cartelle “.svn”
Pubblicato il 15 aprile, 2009Autore: Michele
Subverion (SVN) memorizza le informazioni di stato riguardo la “working copy” di un progetto all’interno di directories nascoste chiamate “.svn”. Queste directories vengono utilizzate per contenere metadati SVN. Considerando una directory contenente un progetto prelevato da un repository SVN (ad esempio, una directory chiamata “MyProject”), avremo una cartella nascosta “.svn” per ogni directory e sotto-directory collocate all’interno di “MyProject”. A volte si ha la necessità di cancellare queste directory nascoste, ad esempio, per distribuire o condividire il progetto con persone che non usano Subversion, o semplicemente, per archiviare una copia del progetto senza i metadati SVN.
Cancellare manualmente tutte le cartelle nascoste “.svn” da ogni singola directory e sotto-directories non è la cosa più eccitante del mondo, specialmente se il progetto su cui si vuole operare è piuttosto grande e comprende una moltitutide di sotto-directories annidate. Per svolgere questa operazione automaticamente su macchine Mac o comunque su macchine basate su sistemi operativi Unix/Linux, basterà aprire il terminale e lanciare il seguente comando all’interno della directory del progetto in cui si vuole elminare le directories “.svn” (ad esempio, “MyProject”):
find . -type d -name .svn -depth -exec rm -rf {} \;Il significato del comando è:
“trova in questa cartella (find .) tutte le sotto-cartelle (type -d) chiamate ‘.svn’ (-name .svn) con ordine padre->figlio (-depth) ed esegui il comando ‘rm -rf’ su ogni directory trovata ({})”.
Gli utenti Windows, invece, possono aggiungere una nuova voce di menù (ad esempio, “Delete SVN Folders”) all’interno del menù contestuale di Windows. Selezionando la cartella del progetto da cui eliminare le sotto-cartelle “.svn” e successivamente lanciando l’opzione “Delete SVN Folders” dal menù contestuale di Windows (tasto destro del mouse), verrà lanciato uno script che si occuperà di cancellare tutte le sotto-cartelle “.svn” (fonte: Jon Galloway’s Blog). Per fare questo, basterà copiare le seguenti righe di codice all’interno di un file di testo con estensione “.reg” (da creare) e poi fare doppio click su di esso per installarlo.
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN] @="Delete SVN Folders" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command] @="cmd.exe /c \"TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \""
Commenti (2):
01-05-2009 alle 8.59
Ho usato proprio adesso questo script. Funziona, grazie!!
11-05-2009 alle 8.55
Problema appena risolto usando questo script.
Inserisci un commento