위의 user619330의 조언을 따르기 위해 꽤 철저히 노력했습니다. 상황은 다음과 같습니다. (1) : 초기 브랜치 인 branch1에서 작업하는 동안 일부 파일을 추가했습니다. (2) 추가 개발을 위해 새로운 브랜치 인 branch2를 생성하고, 트렁크에서 분기 한 다음 브랜치 1의 변경 사항을 병합합니다. (3) 동료가 브랜치 1에서 자신의 브랜치로 내 모드를 복사하고 추가 모드를 추가했습니다. 그런 다음 다시 트렁크로 병합되었습니다. (4) 이제 트렁크의 최신 변경 사항을 현재 작업 브랜치 인 branch2로 병합하고 싶었습니다. 이것은 svn 1.6.17입니다.
병합은 새 파일과 트리 충돌을 일으켰고, 다른 트렁크에서 새 버전을 원했기 때문에 branch2의 깨끗한 복사본에서 충돌하는 파일을 svn 삭제하고 이러한 branch2 변경 사항을 커밋했습니다 (따라서 임시 문제의 파일이없는 branch2 버전), 트렁크에서 병합했습니다. 나중에 트렁크로 다시 병합하려고 할 때 더 많은 문제가 발생하지 않도록 히스토리가 트렁크 버전과 일치하기를 원했기 때문에 이렇게했습니다. 병합이 잘되었고, 파일의 트렁크 버전을 얻었고, svn st는 모두 확인을 보여주고, 이전에 수행 한 삭제와 병합에서 추가 사이에 변경 사항을 커밋하는 동안 더 많은 트리 충돌을 발생 시켰습니다. svn이 내 작업 복사본 (이제 파일의 트렁크 버전이 있음)을 위해 충돌을 해결하고 커밋했습니다.
음 ... 아니. branch2의 다른 복사본을 업데이트하면 이전 버전의 파일이 생성되었습니다 (트렁크 이전 병합). 이제 두 개의 서로 다른 작업 복사본을 가지고 있는데, 같은 버전으로 업데이트 된 것으로 추정되며 두 가지 다른 버전의 파일이 있으며 둘 다 완전히 최신 상태라고 주장합니다! branch2의 깨끗한 사본을 체크 아웃하면 이전 (트렁크 이전) 버전의 파일이 생성되었습니다. 수동으로 트렁크 버전으로 업데이트하고 변경 사항을 커밋하고 첫 번째 작업 복사본 (원래 트렁크 변경 사항을 제출했던)으로 돌아가서 업데이트를 시도한 다음 문제가되는 파일에 체크섬 오류가 발생합니다. 문제의 디렉토리를 날려 버리고 업데이트를 통해 새 버전을 얻으십시오. 마지막으로 트렁크 변경으로 좋은 버전의 branch2가되어야합니다. 나는 희망. 주의 사항 개발자.