2009-11-13 37 views
8

我想犯了一些工作,但SVN總是失敗,並告訴我,我修改的文件是過時的。我首先嚐試更新,這不起作用。清理不起作用。如果我恢復該文件,請複製我的修改並嘗試修改,但仍然失敗。它不僅僅是一個特定的文件,如果我將整個事件恢復到以前的修訂版本並修改任何文件,這個問題仍然會發生。不能承諾svn的,因爲工作拷貝永遠是過時

我沒有想法。任何人有什麼?

謝謝。

回答

5

嘗試創建一個新的結帳,然後將其更改複製到它。我也對TortoiseSVN有一些莫名其妙的問題,這是唯一有幫助的。

+0

我自己遇到了同樣的麻煩,解決方案總是一樣的......新的工作副本,變更的手動副本,提交,刪除破損的工作副本... – 2009-11-13 17:07:32

2

這是我見過的一個常見情景,導致很多人頭痛。有可能您處於此狀態:

  1. 工作副本處於損壞狀態。 SVN 抱怨'foo' 目錄下的文件'bar'導致問題。
  2. 開發人員製作 foo目錄的備份副本。
  3. 開發人員從工作副本中刪除foo dir。
  4. 開發者沒有svn update,foo和 bar被還原,svn很高興。
  5. 開發拷貝備份富 的副本向後轉到工作拷貝和svn不再快樂,不再能夠更新和/或承諾

這裏的致命的錯誤是,當開發商做目錄的備份'foo',他們還將所有隱藏在foo中的隱藏的「.svn」目錄作爲備份。

因此,該解決方案(在我的經驗),是使用烏龜SVN的「出口」能力,使富的備份副本。 Tortoise svn Export將創建一個目錄結構的副本,而不需要任何svn元數據(.svn dirs)。這樣,一旦你回到第三步,svn很高興,當你將備份拷貝回你的工作副本目錄時,svn應該能夠正確捕獲這些更改。

再說,如果這只是你創建的備份副本的單個文件的話,這不會幫助。

+0

這很好,很清楚。非常感謝! – 2011-04-29 22:30:31

3

如果你可以更新你的文件,工作副本似乎正常工作。

你是更新目錄還是隻更新文件?當svn無法提交時,由於存儲庫中的目錄屬性已更改,我遇到了這種情況。目錄更新解決了這個問題。

另一次嘗試是使用svn cleanup

新的結帳是最後的手段。

0

對於我來說,這個方法處理: 在一個單一的文件,我已經恢復到舊版本的文件。 當我想提交項目時,我收到了這樣的信息,即這個特定的文件已經過時,並且沒有提交。

應該怎樣做是對文件的內容複製並取回該文件的最新版本SVN。

完成後,將保存的內容複製到文件中,然後提交。 這對我有效。

0

我有重命名java包(svn的目錄)這個錯誤。

我通過對被刪除的目錄執行「覆蓋並更新」來解決它(在我的項目中獲得空白)。然後用文件提交新的目錄。之後,再次刪除項目中重命名並重新提交。