SVN中的E状态代码是什么意思?

时间:2011-10-11 17:20:07

标签: svn subclipse

我第一次获得了SVN的E状态代码。这是什么意思? The update documentation表示它代表“存在”,但没有提供更多细节。

或者,什么是“阻碍路径”?长帮助文件指出“阻塞路径在第一列中报告,代码为'E'。”

一些背景知识:我从工作副本中删除了一个我不应该删除的文件。从SVN更新没有恢复它,所以我创建了一个具有相同文件名的新文件,并将文件的repo副本粘贴到其中。

然后我将它添加到版本控制中,但是它给了它“需要添加到远程存储库的版本化文件”状态,而不是“无本地更改”状态。

使用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

2 个答案:

答案 0 :(得分:20)

“阻塞路径”是指更新命令需要复制版本化文件或文件夹的路径上的现有无版本文件或文件夹。

E状态仅在使用--force标志时出现,没有更新失败的标志。使用该标志,它会单独保留文件,并允许您决定如何处理它。

关于这种情况的令人费解的事情是它最终认为文件在成功恢复之后立即失效了。

参考:svn help update

  

如果阻碍路径是相同的类型(文件     或者目录)作为存储库中的相应路径     版本化,但其内容在工作副本中保持“原样”。

答案 1 :(得分:5)

E =更新前存在文件。

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

“工作中无法阻挡的障碍路径 如果更新尝试,则复制不会自动导致失败 添加相同的路径。如果阻碍路径是相同的类型(文件 或者目录)作为存储库中的相应路径 版本化,但其内容在工作副本中保持“原样”。 这意味着阻碍目录的无版本儿童可能会 也阻碍并成为版本。对于文件,任何内容差异 在障碍物和储存库之间被视为本地的 修改工作副本。存储库中的所有属性 被应用于阻碍路径。报告了阻碍路径 在第一列中,代码为“E”。

使用--set-depth选项在。上设置新的工作副本深度 这项行动的目标。“