2011-06-06 29 views
1

我第一次使用SVN,所以這可能是一個基本問題。如何自動從SVN回購自動重新掃描文件夾/文件?

該應用即時通訊在svn下使用,問題是應用程序的一項任務是自動添加/刪除文件夾/文件;當我提交時,我想用當前文件夾樹更新存儲庫。

我看到了如何添加所有創建的文件/文件夾與svn add -f myapp/*,但如果我刪除已存在於存儲庫中的文件夾時出現錯誤:svn: Directory '/myapp/folder' is missing

如何告訴SVN在提交期間從回購庫中刪除丟失的文件夾/文件?

我知道svn有remove命令,但是我很喜歡每次刪除一些東西時使用的headcache。

更新:感謝jon的鏈接,我發現這個命令:svn rm $(svn status [LOCAL_COPY_PATH] | sed -e '/^!/!d' -e 's/^!//') [LOCAL_COPY_PATH],滿足我的需要。

回答

1

您應該始終使用svn delete而不是僅刪除回購中的文件夾/文件。話雖這麼說,它看起來像一個人寫了一個腳本來做到這一點:

svn commit missing file automatically

0

你需要組織你的承諾,有沒有辦法解決它。 SVN對待刪除的文件和刪除的文件夾有點不同。如果刪除目錄中的文件,該文件夾將被標記爲已修改。如果在此之後刪除文件夾,則會出現上述問題。現在可能會發生這種情況,特別是如果您不在一段時間內提交的話。

我的建議是先用svn update恢復文件夾,用「svn rm」正確刪除,然後提交。

+1

我不能依靠'svn rm'。如上所述,我的應用程序本身添加/刪除元素,並在我的應用程序中強制使用svn命令看起來像浪費時間 – Strae 2011-06-06 14:25:38