2010-08-10 61 views
0

是否有一個svn命令告訴存儲庫自動「rm」文件回購存在於回購但不是在我的目錄?svn以自動更新爲基礎我的目錄沒有手動「svn rm ...」

有點解釋:

我有我自己的項目託管在谷歌代碼上。在我的本地目錄中,我刪除了很多文件。現在,我想提交。但是,我不記得我刪除了哪些文件。看起來很麻煩(通過例如備份我的目錄,更新目錄,區分目錄,然後生成一個文件列表「svn rm f1 f2 ...」)

我知道在svn中,刪除文件的方法是首先調用「svn rm fname」,它會爲你刪除文件。但長話短說......我有上述情況。

回答

2

我只是想我的Mac OS X系統上的以下和它似乎工作:

$ svn status -q | grep '! ' | awk '{ print $2 }' | xargs svn rm 

這不承諾什麼,只是發出svn rm命令(S)爲您服務。希望這可以幫助!

編輯:這並沒有正確處理文件名稱中(例如「我的文字file.txt的」)的空間,但它應該免費空格的文件名使用。

+0

+1首先發布:) – 2010-08-10 18:45:46

+0

謝謝大家。 svn status -q做到了。 – 2010-08-10 20:00:12

+0

@zr乾杯! :-) – 2010-08-10 20:15:27

1

不是我所知道的。

svn status爲您提供了工作目錄當前狀態的概覽。以!!開頭的文件缺失(刪除,但不是svn rm'd)。

1

如果您提交工作副本的根文件夾,Subversion應該注意到工作副本中的文件丟失。至少TortoiseSVN提供從repo中刪除這些文件 - 我不知道命令行客戶端如何處理這個。

2

This SHOULD work。使用您自己的風險 - 在運行之前最好創建一個備份:

svn st | grep "^!" | gawk '{print $2}' | xargs svn rm 
0

你可以做svn的了,在列表中選擇,然後SVN RM恢復的文件。