어떤 버전의 Subversion 클라이언트를 사용하고 있습니까?
pre-subversion 1.7 클라이언트에서 Subversion은 .svn
디렉토리에있는 파일 및 저장된 자료의 내용을보고 파일 변경 사항을 확인합니다. Subversion은 파일 자체의 속성과 내용을 비교하여 변경 사항을 확인합니다. 예를 들어,이 예에서,
$ svn up
U file1
U file2
U file3
, 적어도이 여섯 파일을 볼 수 있습니다 :
.svn/text-base/file1.svn-base
.svn/text-base/file2.svn-base
.svn/text-base/file3.svn-base
.svn/prop-base/file1
.svn/prop-base/file2
.svn/prop-base/file3
그것은 파일이 메이크처럼 (변경 여부를 결정하기 위해 타임 스탬프에 보이지 않는
가지고있을 것이다).
svn up
과 svn commit
모두 동일한 알고리즘을 사용하여 파일을 수정중인 것으로 기록할지 여부를 결정합니다.
디렉토리에있는 항목 목록을 포함하는 .svn/entries
이라는 파일도 있습니다. 이렇게하면 Subversion이 추가 및 삭제를 추적 할 수 있지만 변경 사항을 감지하는 데는 사용되지 않습니다.
변경되지 않은 파일이 커밋되는 동안 문제가 발생했습니다. 그러나 이것은 항상 svn status
일 때 나타나며 파일 내용은 변경되지 않았지만 속성은 svn:merge info
입니다.
문제는 매우 다르게 보입니다. 무엇보다도 svn status
을 수행 할 때 변경 사항이 표시되지 않지만 커밋됩니다. 디렉토리에 svn -v log
을 입력하면 어떻게 될까요? 파일이 변경된 것으로 표시됩니까? svn status -v
을하면 어떻게 될까요? 무시 된 파일과 변경되지 않은 파일을 포함한 모든 파일이 표시됩니다.
서버가 커밋 할 파일을 결정하지 않고 변경된 파일을 서버에 알려주는 클라이언트입니다. 따라서 Subversion 클라이언트에 문제가 있습니다.
Subversion 클라이언트는 무엇이고 어떤 OS가 있습니까? 나는 Cgywin이 문제가 될 수 있음을 안다. 특히 당신의 작업 디렉토리를 Windows Subversion 클라이언트와 공유한다면 더욱 그렇다. 두 가지 다른 유형의 클라이언트 (예 : GUI 클라이언트 및 명령 행 클라이언트)간에 작업 디렉토리를 공유하는 데는 몇 가지 문제점이있을 수 있습니다. 예를 들어, VisualStudio의 AnkhSvn 클라이언트는 _svn
디렉터리를 만듭니다. TortoiseSVN은 표준 Subversion 커맨드 라인이 아닌 (올바르게 설정했다면) 그것들을 사용할 수 있습니다.
그리고 물론 1.7 명령 줄 클라이언트는 이전 명령 줄 클라이언트와 다른 방식입니다. 표준 1.7 명령 줄 클라이언트에서 .svn
디렉토리는 루트에만 있으며 파일의 내용이 변경되었는지 여부를 확인하기 위해 체크섬을 사용한다고 생각합니다.
죄송하지만 더 이상의 도움을 드릴 수 없습니다. 어쩌면 내가 너에게 무언가를 줬을거야? Subversion 클라이언트 및 OS에 대해 알려 주시면 도움이 될 것입니다. 또한 동일한 디렉토리에서 여러 Subversion 클라이언트를 사용하는 경우 알려주십시오. 그것은 단서 일 수도 있습니다.
나는 $HOME/.subversion/conf
으로 들어가서 차이를 만들 수있는 설정이 있는지 살펴 보았지만이 동작을 일으키는 원인은 찾지 못했습니다.
어쨌든'file2, file3, file4'가 변경 되었습니까? 아니면 항상 동일하고 어쨌든 커밋합니까? –
svn commit을 시도해 볼 수 있습니까? – Johny
'svn commit file1' 시도해 주시겠습니까? – Neil