2011-10-11 295 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深入的选项来设置一个新的工作副本深度在此操作的 目标。”