[svn] Subversion 상태 기호 “~”는 무엇을 의미합니까?

을 할 때 물결표 기호가 나타납니다 svn status.

다음은 XCode에서 편집 한 프로젝트의 출력입니다.

svn status
M      build/Currency_Converter.build/Currency_Converter.pbxindex/imports.pbxbtree
M      build/Currency_Converter.build/Currency_Converter.pbxindex/pbxindex.header
M      build/Currency_Converter.build/Currency_Converter.pbxindex/symbols0.pbxsymbols
~      build/Currency_Converter.build/Currency_Converter.pbxindex/strings.pbxstrings
M      main.m
//more changed files

그게 무슨 뜻인지 아세요? Google 또는 svn 치트 시트에서 찾을 수 없습니다.

흥미롭게도 main.m 만 편집했지만 수정 된 파일이 많이 있습니다. 왜 그럴까요? 누구든지 SVN 및 XCode 작업에 대한 팁이 있습니까? 소스 파일을 버전 제어 만해야합니까?

편집 : -이미 버전 관리중인 파일이 다른 유형의 파일로 대체되어 발생합니다. 이 경우 strings.pbxstrings는 이전에는 파일 이었지만 이제는 디렉터리가되었습니다. 이야기의 도덕은 빌드 폴더를 버전 관리에 넣지 않는 것입니다.



답변

SVN 도서는 말합니다 :

항목은 한 종류의 개체 (파일, 디렉터리, 링크)로 버전이 지정되었지만 다른 종류의 개체로 대체되었습니다.

원래는 단일 파일 이었지만 디렉토리로 변경 했습니까?


답변

내가 한 일은 다음과 같습니다.

폴더가 Test 인 경우

  1. mv 테스트 테스트 1
  2. svn 제거 테스트
  3. mv Test1 테스트

답변

에서

svn help status

‘~’버전 항목이 다른 종류의 항목에 의해 차단됨

나는 파일 권한이 변경되고 svn에 실행 액세스 권한이없는 곳에서만 이것을 보았다.

도움이 되었기를 바랍니다.


답변

이 문제를 해결하는 가장 쉬운 방법은 백업 한 다음이 상태의 폴더 또는 파일을 삭제 한 다음 “svn up”을 수행하는 것입니다. 파일에 의해 상대적으로 배치 된 폴더 일 필요는 없으며 .svn 폴더가 없거나 손상되었을 수 있습니다. .


답변

svn delete --keep-local x
svn commit -m "del x"
svn add x
svn commit -m "blah"


답변

이는 폴더에서 .svn 폴더를 제거하거나 (예를 들어 디렉터리를 제거한 다음 동일한 디렉터리를 다시 생성하는 경우), 디렉터리를 심볼릭 링크 또는 동일한 이름의 파일로 대체 할 때 발생할 수 있습니다. .

a-folder라는 폴더라고 가정하면 상위 폴더에서 다음 명령을 실행하여이 문제를 해결할 수 있습니다.

$ find a-folder -type d -name '.svn' -print0 | xargs -0 rm -Rf
$ svn up --force .
svn: Directory 'logs/.svn' containing working copy admin area is missing
$ svn up --force .
E    a-folder
...
Updated to revision n.

그런 다음 svn 추가 ​​/ 제거 및 변경 사항을 다시 커밋하는 문제입니다.


답변

비슷한 문제가 있었는데 SVN은 자물쇠에 대해 불평했습니다. 우리가 한 일은 다음과 같습니다.

  • 파일을 백업했습니다.
  • rm -r (Linux)로 문제의 디렉토리를 제거했습니다.
  • 란의 SVN 정리 디렉토리에
  • 란은 –force를 svn을 디렉토리에