我正在將VSS存儲庫遷移到SVN,並在第一次簽入時無意中包含了所有_vti_cnf,* .scc文件。我想從SVN中刪除這些。 (當然不是永久的 - 只是在HEAD中)。有問題的應用程序非常龐大,並且逐個文件夾地查找和刪除這些文件將會一直持續下去。SVN使用通配符刪除?
對此提出建議?必須有一些明顯的方法來做到這一點,但週末的接近干擾了我的高等腦功能。
我正在將VSS存儲庫遷移到SVN,並在第一次簽入時無意中包含了所有_vti_cnf,* .scc文件。我想從SVN中刪除這些。 (當然不是永久的 - 只是在HEAD中)。有問題的應用程序非常龐大,並且逐個文件夾地查找和刪除這些文件將會一直持續下去。SVN使用通配符刪除?
對此提出建議?必須有一些明顯的方法來做到這一點,但週末的接近干擾了我的高等腦功能。
喬納斯的答案應該很好。也許你正在發生衝突,因爲你在文件系統級別刪除它們,繞過Subversion的控制?
如果你可以使用TortoiseSVN,以下爲我工作(=我得到的上下文菜單中的必要的命令):
完成!
平時免責聲明給人的版本控制的建議時,要小心,有備份,我不接受任何責任等等,等等
難道你不能只是grep(或其他找到文件的操作)檢出版本的* .scc文件,刪除它們,然後提交?
您會想,是不是?我已經嘗試過,但由於某種原因它似乎會引入衝突。也許我只是失去了理智。 – 2010-04-15 17:03:38
如果您運行的是Linux或Mac OS,你可以用find
雖然走了,像
$ find . -type d -name "_vti_cnf" -exec svn delete {} \;
我不再是SVN用戶(以及從未使用VSS),所以你可能要修改命令行和/或首先嚐試-print
。
不幸的是,我正在運行Windows。或幸運的是,取決於你的POV。=/ – 2010-04-15 17:08:11
,那將是不幸的;) – 2010-04-15 17:15:31
這會爲你工作? http://mattypenny.blogspot.com/2007/04/dos-equivalent-to-unix-find-name-print.html 'dir/B/S _vti_cnf' 然後將結果複製粘貼到文本編輯器中在每行前添加'svn delete'(例如使用正則表達式) – 2010-04-15 17:17:32
在Windows命令提示符下,你可以「爲」執行與遞歸文件搜索和援引「SVN刪除」爲每個匹配的文件,
C:\> for /r %i in (abc*def.sql) do svn delete %i
注:請記住,在一個批處理文件,你需要用%%更換%I I。
要了解所有你可以使用「爲」其他標誌(它的搜索和分析的瑞士軍刀)使用help命令,
C:\> help for
或者使用PowerShell:
Foreach ($file in Get-Childitem * -include "*.txt")
{
svn del $file.name
}
其中* .txt是通配符,*指定當前目錄在哪裏查找要刪除的文件
有一個大腦問題 - 刪除文件夾,然後試圖刪除它們包含的文件。謝謝。 (整天最簡單的10分,我敢打賭!) – 2010-04-15 17:23:40