2011-10-11 297 views
25

我剛剛第一次收到SVN的E狀態碼。這是什麼意思? The update documentation表示它代表「存在」,但沒有提供更多細節。SVN中的E狀態碼是什麼意思?

或者,什麼是「障礙路徑」?長幫助文件指出「阻塞路徑在第一列用代碼'E'報告。」

一些背景:我從我的工作副本中刪除了一個我不應該刪除的文件。從SVN更新沒有恢復它,所以我創建了一個具有相同文件名的新文件,並將該文件的回購副本複製粘貼到其中。

然後我將它添加到版本控制中,但它給了它「需要添加到遠程存儲庫的版本化文件」狀態,而不是「沒有本地更改」狀態。

使用Subclipse,我選擇替換爲>最新從父文件夾存儲庫,這發生了:

revert -N C:/foo/Bar.java 
    Reverted C:/foo/Bar.java 
update C:/foo/Bar.java -r HEAD --force 
    E C:/foo/Bar.java 
    Updated to revision 396. 
    ===== File Statistics: ===== 
    Existing: 1 

回答

20

的‘障礙路徑’是指現有無版本文件或文件夾的路徑其中更新命令需要複製版本文件或文件夾。

電子狀態,只有當--force標誌使用,而不標誌更新只會失敗。旗出現時,它留下的文件單獨和允許您決定如何處理它。

關於這種情況令人費解的事情是,它成功回覆之後立即認爲文件未版本化。

價:svn help update

如果障礙路徑是相同的類型(文件 或目錄),在存儲庫中相應的路徑變得 版本,但其內容被左「原樣」在工作副本。

+0

此外,在更新_file external_期間將會看到E狀態。在這種情況下,E狀態是標準行爲,不需要'--force'標誌。 –

5

E =文件更新之前就已經存在。

http://plind.dk/2009/06/26/svn-status-cheatsheet/

「未版本控制的阻礙路徑在工作 副本不會自動導致失敗如果更新嘗試 添加相同的路徑,如果在封閉的路徑是相同類型(文件 或目錄)版本庫中的相應路徑變成 版本,但其內容在工作副本中保持'原樣' 這意味着阻塞目錄的未版本控制的子版本可能會阻止併成爲版本號對於文件,任何內容差異 障礙物和儲存庫是tr像當地的 修改的工作副本吃飯。來自存儲庫 的所有屬性都應用於阻塞路徑。在代碼'E'的第一列中報告阻礙路徑 。

使用--set深入的選項來設置一個新的工作副本深度在此操作的 目標。」