2010-06-01 10 views
3

사람 만 나중에 다른 변화를 저지하고 트리 충돌 말했다 수 거북이에서 파일을 이동하고 성공적으로 커밋의 경험이 있었다 여기서거북이 SVN 트리 충돌 자신에

  1. 에서 파일의 원래 위치는 삭제되었지만 거북이는 누락 됨으로 표시됩니다.
  2. 새 위치의 파일이 있지만 이미 추가 된 것으로 표시됩니다.

는 (나는 거북이 SVN을 사용하여, 우리는 클라이언트와 서버> 1.60가 있습니다) (SVN 로그에 따라)

아무도 다른 디렉토리 나 파일 중 하나를 변경했습니다.

  1. 왜 이런 일이 발생합니까?
  2. 발생하지 않도록하는 방법이 있습니까?
  3. 그런 경우 전체 폴더를 삭제하고 다시 업데이트하는 것보다 문제를 해결하는보다 우아한 방법이 있습니까?

답변

3
  1. 는 Windows 탐색기 "이동"명령이 아닌 거북이 "이동"명령을 사용하여 파일을 이동 어쩌면 것 같은데. 전자는 단지 Subversion 트리를 업데이트하지 않고 파일 시스템에서 파일을 옮긴다 (버전 관리에서 오래된 파일을 지우고 이전 파일의 히스토리를 새로운 것으로 연결).

  2. 항상 TortoiseSVN "이동"명령을 사용하거나, 기록없이 파일을 이동하려면 Windows 탐색기를 사용하여 파일을 복사하고 Tortoise로 새 버전을 추가 한 다음 Tortoise로 이전 버전을 삭제하십시오.

  3. 이전 파일의 상위 폴더를 마우스 오른쪽 단추로 클릭하고 "수정 확인"을 선택한 다음 버전 관리에서 누락 된 것으로 표시된 파일을 삭제할 수 있습니다.

+1

아니요. 틀렸어요. 나는 마우스 오른쪽 버튼으로 드래그하여 "svn으로 이동"을 사용합니다. 3. repos가 이미 체크 인되었다고 생각하는 파일을 체크 아웃하기 때문에 커밋 할 수없는 문제의 절반 만 해결합니다.이 명백한 버그를 해결할 수있는 유일한 방법은 폴더를 삭제하고 업데이트하는 것입니다. –

+0

@Jesse, 이동 후 성공적으로 커밋 할 때 어떤 레벨에서 커밋을하고 있습니까? 작업 복사본, 하위 디렉토리 또는 무엇의 최상위 수준입니까? –

+0

소스 트리의 루트에서 커밋합니다. –

1

파일을 커밋 한 것처럼 들리지만 이동 한 디렉토리는 들리지 않습니다. 디렉토리도 커밋해야합니다.

+0

아니요. 원본 트리의 루트에서 커밋합니다. 평소대로. –

+2

-1 감사합니다. 노력에 감사드립니다. – zvolkov

+0

+1 다른 사람들에게 도움이 될 수 있습니다. – Brian

0

폴더를 r- 클릭하고 '이름 바꾸기'를 선택하고 "newpath \ to \ folder"를 매개 변수로 사용하여 트리 충돌이 발생했습니다. 다른 폴더

  • svn의 삭제에

    1. 열고 새로운 깨끗한 체크 아웃하고 깨끗한 체크 아웃에서 깨진 '폴더를 \하도록하는 newpath의 \'을 저지르고 : 실패 정리 명령의 많은 라운드 및 일부 다른 물건 후 나는 마지막으로 정신을 복원
    2. 선택 'oldpath는 \ 폴더' 'oldpath는 \ 폴더에'체크인 깨진로 이동 중간
    3. 에서 다른 작업으로 변화를 저지
    4. 즉시 새 위치로 끌어 svn의 이동을 R 버튼으로 클릭하고 수동으로 파일을 복사 어떤 h를 'newpath \ to \ folder'에 놓거나 남겨 두었습니다.
    5. 수동으로 복사 한 파일을 새 것처럼 추가하십시오.

    수동으로 업데이트 된 파일의 경우 끊김 이력 체인이 끊어졌지만 적어도 지금은 작업을 계속할 수 있습니다.

  • 관련 문제