刪除所有svn檔案(一個目錄和其各級子目錄下的) 兩種方法
[1]用find命令和其action來實現
[2]用rm直接實現
$ cd /tmp/xxx
$ rm -rf `find . -name .svn`
就可以實現了。
刪除SVN目錄及從伺服器端刪除SVN版本庫檔案方法詳解
-
在學習SVN的過程中,你可能會遇到這樣的問題,如何刪除SVN目錄?如何從伺服器端徹底刪除SVN版本庫中部分資料夾或資料夾?本文為你一一解答。
-
刪除SVN目錄
當使用了svn版本控制系統後每個目錄下都會有一個.svn目錄存在,開發完當交付產品或者上傳到伺服器時一般要把這些目錄刪除,這裡總結了一下在linux和win下的辦法。一、在linux下刪除SVN
刪除這些目錄是很簡單的,命令如下
find.-typed-name".svn"|xargsrm-rf
或者
find.-typed-iname".svn"-execrm-rf{}\;
全部搞定。(http://tech.techweb.com.cn/redirect.php?fid=26&tid=205673&goto=nextnewset)二、在windows下刪除SVN用以下法子:
1、在專案平級的目錄,執行dos命令:
xcopyproject_dirproject_dir_1/s/i2、或者在專案根目錄執行以下dos命令
for/r.%%ain(.)[email protected]"%%a\.svn"rd/s/q"%%a\.svn"
其實第二種方法可以用來幹很多事的,比如把程式碼中的.svn替換為任意其他檔名並在硬碟根目錄下執行,就可以從硬碟上刪除所有的這個檔案啦。3、加註冊表
JonGalloway提供了一段登錄檔程式碼,可以將”DeleteSVNFolders”命名增加到資源管理器的右鍵上,這樣,滑鼠點兩下就能把選中目錄下的所有.svn目錄幹掉了。Worksjustgreat!
程式碼為:
WindowsRegistryEditorVersion5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]@=”DeleteSVNFolders“[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]@=”cmd.exe/c\”TITLERemovingSVNFoldersin%1&&COLOR9A&&FOR/r\”%1\”%%fIN(.svn)DORD/s/q\”%%f\”\”“將這段程式碼儲存為一個.reg檔案,雙擊確認匯入登錄檔即可。
從伺服器端徹底刪除SVN版本庫中部分資料夾或資料夾
若要徹底刪除SVN版本庫某一資料夾或檔案,可採取這種方法(舉例說明):例:假設SVN庫路徑為E:\svn\project,庫中的目錄結構為
QA/Trunk
Software/Tags/test.exe
刪除Software/Tags/目錄下的test.exe檔案操作步驟為:
把SVN庫dump出來
使用svndumpfilter過濾掉要刪除的檔案
新建一個SVN庫
再將處理好的檔案load到新的SVN庫裡
具體命令為:
>svnadmindumpE:\svn\project>aaa.dump
>typeaaa.dump|svndumpfilterexclude/Software/Tags/test.exe>bbb.dump
>svnadmincreateE:\svn\project_new
>svnadminloadE:\svn\project_new<bbb.dump
然後再將新建的project_new重新命名為project,以前的project可以移走,或是另取一個名稱.(因為在TRAC中使用的SVN目錄是project,使用者所使用的SVN目錄也是project)此方法在SVN庫裡版本不多的情況下完全可以達到徹底刪除SVN版本庫某一資料夾或檔案的效果,但是如果SVN庫裡的版本過多,在dump版本的時候會因儲存空間不足,而無法dump版本.也就無法操作了.這時須另掛能滿足其儲存空間的硬碟操作.