2010-05-24 2 views
4

에 이름을 바꿉니다. 이제 다음, 가지와 viceversa에로 트렁크에서 I 포트 변경 : 그것은 내가 파일의 이름을 변경해야하는 경우를 제외하고, 거의 완벽하게 작동핸들은 내가 전형적인 서브 버전 설정이 병렬 가지

[+] /trunk/readme-trunk.txt 
[port] /trunk/readme-trunk.txt -> /branches/client-one/readme-trunk.txt 
[port] /trunk/readme-trunk.txt -> /branches/client-two/readme-trunk.txt 
[port] /trunk/readme-trunk.txt -> /branches/client-three/readme-trunk.txt 

. 이제는 어떻게해야 하느냐에 따라 나무 충돌이 생기고 걸리는 단계에 따라 로컬 수정 사항을 잃거나 더 이상 미래의 변경 사항을 포팅 할 수 없습니다.

파일 이름을 바꾸어도 변경 사항을 앞뒤로 이동할 수 있습니까?

[rename] /trunk/readme-trunk.txt -> /trunk/readme.txt 
[port] /trunk/readme.txt -> /branches/client-one/readme.txt 
[port] /trunk/readme.txt -> /branches/client-two/readme.txt 
[port] /trunk/readme.txt -> /branches/client-three/readme.txt 

[edit] /trunk/readme.txt 
[port] /trunk/readme.txt -> /branches/client-one/readme.txt 
[port] /trunk/readme.txt -> /branches/client-two/readme.txt 
[port] /trunk/readme.txt -> /branches/client-three/readme.txt 

(주제에 대한 대부분의 문서는 두 개발자가 같은 파일을 수정할 때 트리 충돌이 일어날 것을 의미한다;. 이것이 내가 유일한 개발자입니다 때문에 사실이 아니다)

답변

1

난을 읽어 봤는데 많은 질문을 던지며 파일 이름 바꾸기는 대부분의 소스 제어 시스템의 약점으로 보입니다. Subversion에 관해서는, (1.5 이전의 병합과 같이) 할 수없는 것들 중 하나입니다.

  1. 가 트렁크에 일반 이름 바꾸기 (복사 + 삭제)을 수행

    가장 잘 작동하는 것 같다 해결 방법입니다. 범하다. 각 분기 용
  2. :
    • 태그 버전 1로 병합 예컨대 svn merge --record-only (커맨드 라인) 또는 [X] Only record the merge (TortoiseSVN에) 발.
    • 정기적 인 이름 바꾸기 (복사 + 삭제)를 수행하십시오.

당신은 두 파일은 여전히 ​​관련으로 간주, 더 트리 갈등과, 가장 중요한 부분을 얻을 당신이 할 수있는 그래서 여전히 포트와 가지 사이에 백 포트.

(디렉토리에 대해서는 테스트하지 않았지만 일반 파일은 환영합니다.)

관련 문제