Uno shell command per rimuovere le cartelle SVN

Il server di source control Subversion (per gli amici SVN) mantiene lo stato in una serie di cartelle nascoste .svn piazzate all’interno della root folder del progetto. Molte volte mi è capitato di dover pulire il mio progetto dallo stato SVN (fornire una copia pulita della cartella, sharing di rete, etc.). Rimuovere manualmente ".svn" in progetti con alta profondità di path diventa praticamente impossibile, quindi mi ero attrezzato con una procedura batch che ricorsivamente cercava all’interno del progetto le cartelle .svn rimuovendole dal filesystem. Googlando mi sono imbattuto in un post in cui venivano fatti degli esperimenti per confrontare le prestazioni tra una soluzione che faceva uso dei classici comandi di shell windows\dos e un’alternativa implementata con PowerShell; in uno dei commenti al post un lettore proponeva di aggiungere una shell extension nel registro di windows in modo da avere il comando di rimozione sempre a "portata di click". Ecco la soluzione :

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\" \""


Il tutto va ovviamente "incollato" in un file .reg in modo che windows possa aggiungere opportunamente le chiavi di registro.

Da ora basterà un click destro sulla root del progetto e il comando "Delete SVN Folders" si occuperà di tutto.

Se dovesse interessare l’implementazione PowerShell trovate qui il post : Powershell vs Command Prompt on Deleting SVN Directories

This entry was posted on Tuesday, October 9th, 2007 at 11:01 am and is filed under Tools. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

One Response to “Uno shell command per rimuovere le cartelle SVN”

  1. gabriele Says:

    September 3rd, 2010 at 9:43 am

    Grazie 1000 per il POST!!
    è molto meglio di ciò che cercavo!
    P.S. il link all’implementazione powershell non funziona!

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>