刪除.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/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文件,雙擊確認導入注冊表即可。


從服務器端徹底刪除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版本.也就無法操作了.這時須另掛能滿足其存儲空間的硬盤操作.

 

 

轉自: https://www.cnblogs.com/lidabo/p/5198554.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM