2010-01-14 67 views
0

好吧,我正在處理遞歸刪除空目錄的小應用程序。我在Codeplex的源代碼控制下使用它,並使用TortoiseSVN來訪問它。SVN:如果刪除工作目錄中的空文件夾,該怎麼辦

因此,有一天,我將它運行在我擁有所有代碼的目錄中。它運行良好。空目錄不見了。但是當我嘗試提交Subversion託管項目中的最新更改時,它不會這麼做!它抱怨一些丟失的文件夾或其他東西。很明顯,在工作目錄中有一些隱藏的文件夾(稱爲.svn),其中包含非常關鍵的空目錄(我不知道)。顯然,他們非常重要,以至於他們離開後你什麼都做不了。事情只是停止工作...

我試圖做SVN更新,清理,更新到修訂,還原,等等。沒有工作。總是收到某種錯誤信息。結束不得不移動文件夾,創建一個新文件夾,再次從Codeplex獲取所有內容,然後手動移動舊文件夾中的更改。非常乏味和煩人。

那麼,那裏發生了什麼?爲什麼沒有這些空文件夾就無法工作?如果它再次發生,有什麼方法可以解決嗎?

+3

也許現在是將「排除文件夾匹配模式」功能添加到您的應用程序的好時機:) – 2010-01-14 14:02:35

+0

@Nick:哈哈,已經在研究它:p – Svish 2010-01-14 14:33:07

回答

2

.svn文件夾及其內容(即使爲空)告訴Subversion您的工作副本是工作副本。刪除它們使您的目錄只是一個目錄。你可以像進行其他新項目一樣將其導入到回購中,但是之後你會有重複的項目,所以這是一個非常糟糕的想法。

更好地忍受檢查新工作副本的痛苦,將修改過的和新的文件複製到該文件中並再次提交。

1

我不太瞭解Subversion的實現方式,告訴你爲什麼沒有空文件夾就無法工作,但這些.svn文件夾保存有關工作副本的元數據,比如每個文件的基本版本(所以命令就像svn st可以在不聯繫服務器的情況下看到你改變了什麼)。

如果你把它們搞砸了,除了從乾淨的結帳開始一個新的工作副本,沒有一個真正的好方法來恢復。

相關問題