2013-02-22 1 views
2

최신 변경 사항을 얻기 위해 트렁크를 내 브랜치에 병합 한 후 트렁크에 내 브랜치를 병합했습니다. 그런 다음 SNV 일을했고이 나를 puzzeld 출력의 일부 :SVN st :이 상태는 무엇을 의미합니까?

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

나는 또한 내가 이해 내가 추가 한 디렉토리에 대한 "A"상태를 얻었다. 그러나 위의 상태 일 뿐이며 특히이 디렉토리에 변경 사항이 없다는 것을 이해하지 못합니다. 이 디렉토리 중 하나에 svn diff를했을 때

답변

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 

그래서 디렉토리에 복사 (또는 이동)으로 대체 된 첫 번째. E.G.

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

두 번째는 아마이 디렉토리와 그 텍스트에 대한 수정을 의미하기 때문에 디렉토리가 첫 번째 열에 M을 가질 수 없습니다 주어진 속성 수정합니다. 시작 부분에 누락 된 열이있는 것 같습니다. 아마도 공간 일 것입니다.

svn diff은 기본적으로 트리 변경 사항을 지정하는 방법을 제공하지 않으므로 unidiff로 출력하므로 트리 변경 내용을 표시하는 데 그리 좋지 않습니다. 그러나 svn diff --git은 git 형식이 트리 변경을 지정하기 때문에 더 나은 작업을 수행합니다.

병합 후에 질문이 주어진다면 나는 성공적인 병합인지 궁금합니다. 병합으로 찾아야 할 것은 첫 번째, 두 번째 또는 일곱 번째 열에 C로 표시되는 충돌입니다. 첫 번째 열은 텍스트 충돌이고 두 번째 열은 속성 충돌이며 일곱 번째 열은 나무 충돌입니다.

SVN 1.8이 나오면 노드가 어디서 왔는지 또는 이동할 때 사용했는지를 나타내는 상태의 트리 수정 사항 아래에 주석이 표시됩니다.

+0

도움이되었습니다. 감사 – awm