2013-02-22 196 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