전복 : 병합 할 때“대상 경로가 존재하지 않는다”는 것은 무엇입니까?
문제
Subversion 1.5 사용 지점 B가 있습니다. 브랜치 A에서 분기 A가 있습니다. 두 분기에서 작업을 한 후 A에서 B로 변경됩니다 (사용 svn merge http://path/to/A
B)의 작업 디렉토리에서 svn: Target path does not exist
. 이것은 무엇을 의미 하는가?
해결책
이는 분기 A의 파일에 전복이 B로 합병하려고 시도했지만 파일은 분기 B에 존재하지 않으므로 변경을 병합 할 곳이 없음을 의미합니다. 예를 들어:
- 분기 생성 b
- a/readme을 변경하십시오
- b/readme를 삭제합니다
- 병합 a-> b
이제 파일이 제거되었으므로 Branch B에 README의 변경 사항을 적용 할 수 없습니다.
편집 : 이로 인해 a 나무 충돌 전복 1.6.
다른 팁
호환되지 않는 변화가 없더라도 SVN 1.5.4 로이 오류가 발생했습니다. 1.5.5로 업그레이드하면 고정되었습니다.
내 트렁크와 가지가 이상한 역사를 가지고 있었기 때문에이 문제가있었습니다.
이와 같이:
/---------\
trunk -------+---+ +---\
\-----------BOOM!
트렁크 병합 -> 브랜치가 작동하지 않았습니다.
병합 브랜치 -> 트렁크가 작동했습니다.
/---------\
trunk -------+---+ +---+-----
\---------/
아마도 트렁크는 그들이 공유 한 마지막 조상에 대한 더 나은 정보를 가지고 있었기 때문일 것입니다.
제 경우에는 트렁크로 다시 합병 할 준비가되지 않았지만 트렁크에서 새 지점을 만들고 오래된 지점을 병합 할 수있었습니다.
/---------\
trunk -------+---+ +---+-------
\ \---+--
\-------------/
제휴하지 않습니다 StackOverflow