SVN의 결과 코드는 무엇을 의미합니까?


300

SVN의 결과 코드는 무엇을 의미합니까? 빠른 참조가 필요합니다.

답변:


518

추가 세부 사항은 SVNBook : "작업 사본 파일 및 디렉토리의 상태"를 참조하십시오 .

일반적인 상태 :

U : 작업 파일이 업데이트되었습니다

G : 리포지토리의 변경 사항이 작업 복사본에 자동으로 병합되었습니다.

M : 워킹 카피 수정

C :이 파일은 저장소의 버전과 충돌합니다.

? :이 파일은 버전 관리 대상이 아닙니다

! :이 파일은 버전 관리하에 있지만 누락되었거나 불완전합니다

A :이 파일은 버전 관리에 추가됩니다 (커밋 후)

A + :이 파일은 (커밋 후) 이동합니다

D :이 파일은 커밋 후 삭제됩니다.

S : 파일 또는 디렉토리가 나머지 작업 사본의 경로 (svn 스위치 사용)에서 분기로 전환되었음을 나타냅니다.

나는 : 무시

X : 외부 정의

~ : 타입 변경

R : 작업 사본에서 아이템이 교체되었습니다. 이는 파일이 삭제되도록 예약 된 다음 같은 이름을 가진 새 파일이 추가되도록 예약되었음을 의미합니다.

L : 항목이 잠겨 있습니다

E : svn 업데이트에 의해 생성 된 항목이 존재합니다.


12
"R":이 파일이 교체되었습니다
명시하십시오

8
무엇에 대해 E? 모든 문서 는 "기존"이라고되어 ​​있는데, 그다지 도움이되지 않습니다.
팝 :

2
+1이지만 "G : 리포지토리의 변경 사항이 작업 복사본에 자동으로 병합되었습니다"는 제공된 소스에 없습니다 (더 이상?)
Julian

86

또한 두 번째 열의 결과 코드는 파일의 속성을 나타냅니다. 예를 들면 다음과 같습니다.

U   filename.1
 U  filename.2  
UU  filename.3

filename.1 : 파일이 업데이트되었습니다
filename.2 : 파일의 속성 (예 : svn : keywords)이 업데이트되었습니다
filename : 3 : 파일과 해당 속성이 모두 업데이트되었습니다



19

"G"상태에 대해 말하고 싶습니다

G : 리포지토리의 변경 사항이 작업 복사본에 자동으로 병합되었습니다.

위의 정의가 명확하지 않다고 생각합니다. 모든 파일이 자동으로 작업 사본에 병합되기 때문에 약간 혼란을 일으킬 수 있습니다. 올바른 파일은 다음과 같아야합니다.

U = 저장소 버전으로 업데이트 된 항목 (U)

G = 저장소와 함께 상품의 로컬 변경 사항 mer (G)

C = 저장소와 충돌 한 항목의 로컬 변경 사항 (C)

D = 작업 사본에서 제외 된 항목 (D)

A = 작업 사본에 추가 된 항목 (A)


'G'상태 정보 두 개의 다른 체크 아웃 디렉토리에 변경 사항이 2 부 있습니다. 하나의 checkout-dir에서 변경 사항을 커밋하고 다른 checkout-dir을 업데이트하면 로컬 디렉토리의 변경 사항이 리포지토리와 병합되었음을 나타내는 'G'상태가 표시됩니다.
GuruM

18

'E'상태도 있습니다

E = 업데이트 전에 파일이 존재했습니다

업데이트를 수행하여 만든 폴더를 수동으로 만든 경우에 발생할 수 있습니다.


13

나는 보통 IDE 또는 클라이언트 GUI를 통해 svn을 사용합니다. 그 때문에 명령 줄에 의존해야 할 때 코드를 기억할 수 없습니다.

이 치트 시트가 큰 도움이된다고 생각합니다 : Subversion Cheat Sheet


1
G 상태는 표시되지 않습니다.
Ark-kun

13

SVN 상태 열

$ svn status
L index.html

명령의 출력은 6 개의 열로 분할되지만 때로는 열이 비어 있기 때문에 명확하지 않습니다. 아마도 비어있는 열 ls -l을 아무것도 대신하는 대신 대시로 표시하는 것이 더 합리적 일 것입니다. 예를 들어, L index.html다음과 같이 보입니다 --L--- index.html. 세 번째 열에는 잠금에 대한 정보 만 있습니다. 어쨌든 일단 더 이해하기 시작하면 알 수 있습니다.

SVN 상태 첫 번째 열 : A, D, M, R, C, X, I,?,!, ~

첫 번째 열은 항목이 추가, 삭제 또는 변경되었음을 나타냅니다.

      수정 사항이 없습니다.

 A    항목이 추가 예정입니다.

 D    항목 삭제가 예정되어 있습니다.

 M    아이템이 수정되었습니다.

 R    작업 복사본에서 항목이 교체되었습니다. 이는 파일이 삭제되도록 예약 된 다음 동일한 이름을 가진 새 파일이 추가되도록 예약되었음을 의미합니다.

 C    항목의 내용 (등록 정보와 반대)이 저장소에서받은 업데이트와 충돌합니다.

 X    항목이 외부 정의와 관련되어 있습니다.

 I    항목이 무시됩니다 (예 : svn : ignore 속성 사용).

 ?    버전 관리 대상이 아닙니다.

 !    항목이 없습니다 (예 : svn을 사용하지 않고 이동 또는 삭제). 또한 디렉토리가 불완전하다는 것을 나타냅니다 (체크 아웃 또는 업데이트가 중단됨).

 ~    항목은 한 종류의 객체 (파일, 디렉토리, 링크)로 버전 화되었지만 다른 종류의 객체로 대체되었습니다.

SVN 상태 두 번째 열 : M, C

두 번째 열은 파일 또는 디렉토리 속성의 상태를 나타냅니다.

      수정 사항이 없습니다.

 M    이 아이템의 속성이 수정되었습니다.

 C    이 항목의 속성이 리포지토리에서받은 속성 업데이트와 충돌합니다.

SVN 상태 세 번째 열 : L

세 번째 열은 작업중인 복사 디렉토리가 잠겨있는 경우에만 채워집니다 (svn 정리는 일반적으로이를 지우는 데 충분해야 함)

      항목이 잠겨 있지 않습니다.

 L    항목이 잠겨 있습니다.

SVN 상태 네 번째 열 : +

네 번째 열은 항목이 내역 추가를 위해 예약 된 경우에만 채워집니다.

      커밋으로 예약 된 기록이 없습니다.

 +    커밋으로 예약 된 기록.

SVN 상태 다섯 번째 열 : S

다섯 번째 열은 항목의 작업 복사본이 부모를 기준으로 전환 된 경우에만 채워집니다

      항목은 부모 디렉토리의 자식입니다.

 S    항목이 전환되었습니다.

SVN 상태 여섯 번째 열 : K, O, T, B

여섯 번째 열은 잠금 정보로 채워집니다.

      –show-updates를 사용하면 파일이 잠기지 않습니다. –show-updates를 사용하지 않으면 파일이이 작업 복사본에 잠겨 있지 않은 것입니다.

 K    이 작업 복사본에 파일이 잠겨 있습니다.

 O    파일이 다른 사용자 나 다른 작업 사본에 의해 잠겨 있습니다. –show-updates가 사용될 때만 나타납니다.

 T    이 작업 복사본에서 파일이 잠겼지만 잠금이 도난되어 유효하지 않습니다. 파일이 현재 저장소에 잠겨 있습니다. –show-updates가 사용 된 경우에만 나타납니다.

 B    이 작업 사본에서 파일이 잠겨 있지만 잠금이 해제되어 유효하지 않습니다. 파일이 더 이상 잠기지 않음 –show-updates를 사용할 때만 나타납니다.

SVN 상태 일곱 번째 열 : *

오래된 정보는 일곱 번째 열에 나타납니다 (–show-updates 스위치를 통과 한 경우에만). 이것은 SVN을 처음 접하는 사람들이 명령이 기대하는 것입니다. 파일의 현재 상태와 마지막 업데이트시 서버에서 가져온 정보를 비교할뿐입니다.

      작업중인 사본의 항목이 최신입니다.

 *    서버에 항목의 최신 개정판이 있습니다.



7

설명서 ( SVNBook )에 액세스 할 수 없을 때마다 (Linux)를 입력하십시오.

svn help status | grep \'\?\'
svn help status | grep \'\!\'
svn help status | grep \'\YOUR_SYMBOL_HERE\'

~ / .bashrc 파일에 다음 함수를 삽입하십시오.

svncode() {
  symbol=$1
  [ $symbol ] &&  svn help status | grep \'$(echo $symbol)\' || \
  echo "usage: svncode <symbol>"
}

여기에 이미지 설명을 입력하십시오


1
IMO는 "서둘러있을 때"가 아니라 "문서에 액세스 할 수 없을 때"(예 : SVNBook)입니다.
bahrep

@bahrep 감사합니다, 그것을 보는 방법입니다. 제안한대로 수정했습니다.
Alan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.