2012-12-23 28 views
0

我整天在SVN目錄中的幾個新文件上工作。操作錯誤刪除了SVN中的新文件

在一天結束時,我添加並承諾它們。不幸的是,我從我的筆記本電腦上做了這些(我在兩個dirs之間來回穿梭),這些筆記本基本上都是空的文件,第二天早上我在我的主要個人電腦上進行了一次更新,它擦除了我整天工作的文件。 我試過各種「恢復」,日誌,信息等,並沒有發現任何以前的版本的痕跡。

有什麼辦法可以獲得第一次更新所擦除的版本。我沒有得到任何警告。

+0

你確定你沒有「樹衝突」嗎?是否有可能您的本地文件被重命名? – wimh

回答

0

你能給我們提供更多的細節嗎?您的PC上的文件丟失了嗎?如果他們是,你應該能夠恢復他們,即使他們在你的筆記本電腦上被刪除。

這些文件是否未提交本地文件?可能沒有辦法讓他們回來。然而,Subversion很少刪除東西。修改後的文件在更新完成時更新,修改後的部分永遠不會被刪除。如果文件不在存儲庫中,即使在存儲庫中創建了同名文件,也不會在更新完成時將其刪除。在這種情況下,你會遇到衝突。

也許將來的提示:如果您在兩臺機器之間來回移動,則可以使用Dropbox作爲您的Subversion工作目錄。 Dropbox自動同步這兩個目錄 - 甚至是Subversion的工作目錄。另外,它存儲Subversion之外的文件更改歷史記錄。在兩臺機器上,您不能,也不可以,不會,不會,不會,不允許,不要在Subversion上同時使用帶有Subversion的Dropbox目錄。但是,如果你只是在兩個系統之間來回切換,那麼它工作得很好。

+0

Dropbox上的WC是個壞主意(tm)! 「始終提交」和「始終更新」是正確的方式!對於Dropbox上的Subversion,我會記得Occam的Razor –

+0

@LazyBadger。你絕對不能有多人使用Dropbox目錄,但我還沒有發現使用Dropbox以_serial_方式的任何問題。你應該經常提交,但是你也不想犯不完整的工作並破壞構建。如果沒有其他的Dropbox在每次編輯後保存我的文件的舊版本。這使我可以找回我可能沒有犯過的舊版本。作爲獎勵,我可以在家中使用我的筆記本電腦,並在個人電腦上工作。另一種選擇是gitsvn,它允許你做本地提交,並且只向Subversion提交完整的工作。 –

+0

我不確定這是怎麼發生的,但我真的沒有看到另一種方式。我一定已經開始從我的筆記本電腦上開發這些新文件,然後切換到PC上。我必須前後來回,因爲PC上有運行代碼的數據集。所以基本上我在PC上寫的代碼並沒有真正被刪除,而是被主要空的代碼覆蓋。這是他們的第一次承諾。不過,我很驚訝我犯了這個錯誤。 – dargaud