2013-02-22 192 views
2

在我将树干合并到我的分支以获取最新更改后,我将分支合并到树干中。然后做了一个SNV ST,这是puzzeld我输出的一部分:SVN st:这些状态是什么意思?

R + path/to/dirA 
M  path/to/dirB 

我也得到了我的目录添加了我理解的“A”级地位。但只是上面的状态,我不明白,特别是没有对这些目录进行更改。当我在这些目录中的一个上做了svn diff时,我得到了Property changes on: path/to/dirA

回答

9

svn help status实际上是非常好的。

我会贴上相关的部分:

First column: Says if item was added, deleted, or otherwise changed 
    ' ' no modifications 
    'A' Added 
    'C' Conflicted 
    'D' Deleted 
    'I' Ignored 
    'M' Modified 
    'R' Replaced 
    'X' an unversioned directory created by an externals definition 
    '?' item is not under version control 
    '!' item is missing (removed by non-svn command) or incomplete 
    '~' versioned item obstructed by some item of a different kind 

Second column: Modifications of a file's or directory's properties 
    ' ' no modifications 
    'C' Conflicted 
    'M' Modified 

Fourth column: Scheduled commit will contain addition-with-history 
    ' ' no history scheduled with commit 
    '+' history scheduled with commit 

Seventh column: Whether the item is the victim of a tree conflict 
    ' ' normal 
    'C' tree-Conflicted 

所以第一个目录用拷贝(或移动)所取代。例如。

svn rm path/to/dirA 
svn cp path/to/someOtherDir path/to/dirA 

第二个可能是因为它是一个目录,目录不能在第一列A M,因为这意味着修改的文本属性修改。它看起来像是在开始时缺少一列,这可能是一个空间。

svn diff不是很擅长显示树的变化,因为它默认输出为unidiff,它没有提供指定树变化的方法。但svn diff --git做得更好,因为git格式确实提供了指定树的更改。

鉴于你的问题合并后,我猜你想知道如果这些是成功的合并。合并寻找的东西是冲突,它会在第一,第二或第七列中显示为C。第一列是文本冲突,第二列是属性冲突,第七列是树冲突。

SVN 1.8出现时还会显示树状修改状态下的注释,该状态将说明节点从哪里来,或者如果它是移动的一部分,就会去哪里。

+0

这是有帮助的。谢谢 – awm 2013-02-25 15:05:50