學習筆記: 如何刪除SVN版本控制信息
本節和大家一起來學習一下刪除SVN版本信息的方法,本節介紹兩種方案,和大家分享一下,歡迎大家一起來學習如何刪除SVN版本信息。下面是具體介紹。
一、刪除SVN、CVS等版本控制信息(ZZ)
1、找出所有的svn文件:find-typed-name"_svn"
2、那么如何刪除SVN呢?有兩種方案:
1)、find.-typed-name"_svn"|xargsrm-rf
2)、find.-typed-iname"_svn"-execrm-rf{}\;
如果find結果文件太多-exec怎么辦?
使用find命令的-exec選項處理匹配到的文件時,find命令將所有匹配到的文件一起傳遞給exec執行。不幸的是,有些系統對能夠傳遞給exec的命令長度有限制,這樣在find命令運行幾分鐘之后,就會出現溢出錯誤。錯誤信息通常是“參數列太長”或“參數列溢出”。這就是xargs命令的用處所在,特別是與find命令一起使用。Find命令把匹配到的文件傳遞給xargs命令,而xargs命令每次只獲取一部分文件而不是全部,不像-exec選項那樣。這樣它可以先處理最先獲取的一部分文件,然后是下一批,并如此繼續下去。在有些系統中,使用-exec選項會為處理每一個匹配到的文件而發起一個相應的進程,并非將匹配到的文件全部作為參數一次執行;這樣在有些情況下就會出現進程過多,系統性能下降的問題,因而效率不高;而使用xargs命令則只有一個進程。另外,在使用xargs命令時,究竟是一次獲取所有的參數,還是分批取得參數,以及每一次獲取參數的數目都會根據該命令的選項及系統內核中相應的可調參數來確定。
看看xargs命令是如何同find命令一起使用的,以下是一些例子。
下面的例子在整個系統中查找內存信息轉儲文件(coredump),然后把結果保存到/tmp/core.log文件中:
$find.-name"core"-print|xargsecho"">/tmp/core.log
下面的例子在/apps/audit目錄下查找所有用戶具有讀、寫和執行權限的文件,并收回相應的寫權限:
$find/apps/audit-perm-7-print|xargschmodo-w
在下面的例子中,我們用grep命令在所有的普通文件中搜索device這個詞:$find/-typef-print|xargsgrep"device"
二、在windows下刪除SVN用以下法子:
1、在項目平級的目錄,執行dos命令:
xcopyproject_dirproject_dir_1/s/i
2、或者在項目根目錄執行以下dos命令
for/r.%%ain(.)do@ifexist"%%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文件,雙擊確認導入注冊表即可。如果為CVS,則將SVN改成CVS即可。請期待下節關于刪除SVN版本信息的介紹。
【編輯推薦】

















