2010-02-08 179 views
7

當我嘗試提交時出現此錯誤。做了什麼,我認爲是該文件夾的重命名。我試過已經重命名/移動文件夾。但我繼續得到錯誤。TortoiseSVN - 「您必須先更新您的工作副本」

Command: Commit 
Error: Commit failed (details follow): 
Error: File 'Page.aspx' is out of date 
Error: File not found: transaction '99-4a', path '/trunk/src/Solution.UI/Views/ViewName/Page.aspx' 
Error: You have to update your working copy first. 

我嘗試更新,但不幸的是沒有解決問題。

Command: Update 
Completed: At revision: 99 

編輯:後,從文件夾中刪除的文件,做更新,以恢復他們,並更換與原件恢復的文件,我得到這個錯誤:

Error: Commit failed (details follow): 
Error: Base checksum mismatch on '/trunk/src/Solution.UI/Views/ViewName/Page.aspx': 
Error: expected: ed3bc4a70ee4256bd2f7cf8c57f29a1f 
Error:  actual: b8a2797dc262dc714fae6dc897b5ebd2 
+0

你肯定做的時候你替換了沒有替換.svn子目錄中的文件的resotred文件? – cetnar 2010-02-08 20:57:33

+0

@cetnar:是的,我先刪除了它們。 – 2010-02-08 21:03:00

回答

13

SVN知道存儲庫中存在更改,但它不知道更改是什麼。您可能在工作副本上做了完全相同的更改,但除非實際嘗試進行更新,以便SVN可以運行該解決方案,否則它不會檢查您的本地更改與回購更改是否相同。

執行svn update並且衝突解決應該是自動的。但是,如果您對相同的文件進行了更改,即使它發生完全相同的更改,它也可能會要求您手動解析(如果更改爲文件夾重命名,則更有可能)

您可能還必須執行svn resolved執行手動衝突解決。

最糟糕的是,您可以隨時複製您更改的文件,恢復本地更改,更新並替換新文件夾中的文件。

+3

'svn resolved':文件列表爲空。 – 2010-02-08 20:38:14

1

必須更新你的工作副本。

也就是說,執行「SVN更新」以獲取最新版本,並檢查以確保您的更改不會發生衝突。

+1

我做更新,並更新。但問題沒有解決。 – 2010-02-08 20:30:20

1

做一個「SVN清理」,然後做一個更新

+0

SVN清理> SVN更新> SVN Commite。但錯誤繼續炸燬。 – 2010-02-08 20:36:48

1

它看起來就像你在你的工作拷貝有Page.asx,它不存在倉庫了?

也許嘗試從您的驅動器物理刪除它,或者如果它仍然需要將它移動到不同的位置,嘗試提交,然後再次添加它?

+0

+1刪除有問題的文件(如果您對其進行了更改,請將其備份)並進行更新以獲取「已更新」的Page.asx – 2010-02-08 20:57:53

1

有時你可以得到這些奇怪的破解工作拷貝問題,儘管嘗試了一切,但你不能再次工作,你完全無法承諾你的工作。解決這種情況的一種方法是執行以下操作:

  • 檢出您的項目到一個新文件夾。
  • 只將修改後的文件從舊的工作副本複製到新的工作副本。如果你經常犯這個不應該花很長時間。如果您每月提交一次,則可能需要一些時間...
  • 仔細檢查兩個工作副本上的修改列表是否相同。
  • 從您的新工作副本提交。
  • 刪除舊的工作副本,並再次檢查出來。

這不是很令人滿意的做這種方式,因爲它不會告訴你什麼地方出了錯,爲什麼,但如果你只是想與你的工作,那麼它很高興知道,有速戰速決。

2

我正在使用TortiseSVN,並遇到了您遇到的問題。

嘗試努力:刪除一個目錄及其中的文件。

我解析路徑(全部有效的方法)

  1. 選擇相關的文件。用鼠標右鍵單擊| TortiseSVN |刪除

    響應:標記爲刪除的文件。

  2. 右鍵單擊包含目錄| TortiseSVN |提交

    響應:文件已刪除。

  3. 右鍵單擊上述包含的目錄下一個更高的目錄| SVN更新

    響應:更新完成。

  4. 右鍵點擊我想刪除的目錄| TortiseSVN |刪除

    響應:標記爲刪除的目錄。

  5. 右鍵單擊上述提到的目錄 - 刪除| SVN提交

    響應:目錄刪除

過程完成。

0

你應該只取消選中刪除或做svn commit

0

當我嘗試這種解決方案丟失的文件和它的工作非常適合我。 1將工作副本導出到另一個Temp目錄。 2,刪除工作目錄中的所有文件 3查覈在工作目錄 4複製文件的Temp目錄覆蓋所有現有文件 5-工作目錄提交

相關問題