기타2012. 2. 13. 11:05

소스 형상 관리를 위하여 윈도우즈에서 TortoiseSVN을 이용하고 있는데..
더이상 SVN으로 관리할 필요가 없는 프로젝트를 백업 받거나 전달하려다 보면

불필요한 .svn 디렉토리가 포함되어 용량만 차지하고 파일수도 많아 오히려 불편합니다.
일일이 모두 찾아 삭제해줘도 되지만... 아래 레지스트리 명령을 실행하면 간편하게 삭제할 수 있습니다.

아래와 같은 내용을 DeleteSVN.reg 파일로 만들어서 병합(실행)하면,

탐색기(Explorer)에 "Delete SVN Folders" 라는 메뉴가 추가되고 마우스 우클릭시 컨텍스트 메뉴에도 나타납니다.

추가된 메뉴를 선택하면 cmd 창이 하나 나타나면서 .svn 폴더를 모두 삭제합니다.

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


DeleteSVN.reg

레지스트리에 추가된 메뉴 삭제하려면 아래와 같은 내용을 RemoveDeleteSVN.reg 파일로 만들어서 병합(실행)하시면 됩니다.

Windows Registry Editor Version 5.00
;Remove Delete SVN Folders
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]

RemoveDeleteSVN.reg

유닉스 환경일 경우 아래 쉘 명령으로 삭제할 수 있습니다.

find . -type d -name .svn -print0 | xargs -0 rm -rf

또는

find . -name ".svn" -exec rm -rf {} \;


Posted by 미랭군