SVN-재 통합 병합 오류 : "조상과 관련이 있어야 함"
TortoiseSVN을 사용 - 나는 시험 병합을 사용할 때, 나는 오류 "얻을 에 http : // mysvnserver / SVN / 주 / 지점 / PROJECTA이 ancestrally 관련되어야합니다 HTTP : // mysvnserver / SVN / 주 / 트렁크 / ProjectB을 "
이 문제를 해결하려면 어떻게해야합니까?
나는 방금 비슷한 문제를 겪었고 내가 맞은 문제와 해결책을 추가하고 싶었습니다. 가지는 전체 나무가 아닌 줄기의 하위 폴더로 만들어졌습니다. 따라서 재 통합을 시도 할 때 계층 구조가 일치하지 않았습니다. 통합을 내 트렁크 WD의 적절한 하위 폴더로 재구성하기 만하면 프로세스가 진행될 수있었습니다.
이것이이 Q / A를 친 사람에게 도움이 될 수 있기를 바랍니다. :)
추측 해 보겠습니다. 프로젝트가 관련이 없습니까? 그들 중 하나가 분기되었는지 여부를 확인하십시오.
즉각적인 해결책 : 수동 병합 또는 "svn merge --ignore-ancestry"명령 줄 시도
으로 davebytes는 언급이 분기하는 경우이 문제가 발생할 수 있습니다 trunk\X
으로 branches\Y
,하지만 이동 X
새 폴더로 Z
즉, trunk\X\Z
.
당신은 단지에 변화를 병합하려는 경우 branches\Y
에를 trunk\X
, 당신은 갈등을 많이 얻을 것이다; 방금 병합 시도 할 경우 branches\Y
에 trunk\X\Z
, 당신은 "ancestrally 관련"오류가 발생합니다.
그러나, SVN의 설명서는 기본 문제를 설명 : svn merge
정말 호출해야합니다 svn diff-and-apply
. 대신이 시나리오에서 설명해야하는 것은의 r100에서 r200까지 발생한 변경 사항을 요약하고 branches\Y
이러한 변경 사항을에 적용하려고한다는 것 trunk\X\Z\
입니다.
TortoiseSVN에서 이것은 로컬 작업 복사본에 두 개의 다른 트리를 병합하는 시나리오 trunk\X\Z
입니다. r100은 branches\Y
"from"으로, r200은 branches\Y
"to"로 설정됩니다.
다음과 같은 이유로이 문제가 발생했습니다.
TortoiseSVN의 repo 브라우저로 폴더를 만들어 브랜치로 사용했습니다. 그 후 수동으로 생성 한 폴더를 작업 폴더에 병합하려고했습니다.
해결책은 : 처음에 수동으로 분기를 생성하지 말고 대신 TortoiseSVN-> 분기 / 태그 ... 옵션을 사용하여 분기를 생성하십시오.
도움이 되길 바랍니다.
처음에는 루트 폴더에서 병합을 시도했지만 오류가 발생했습니다. 그런 다음 병합하려는 특정 폴더로 이동 한 다음 병합 할 올바른 폴더를 선택했습니다.
예,
내 지점에는 프로젝트 구조가 있습니다.
-Root
- Code
- DB
태그를 생성하고 태그의 DB 폴더로 변경했습니다. 이제 태그 변경 사항을 브랜치로 가져오고 싶습니다. 그래서 저는 브랜치로 전환하고 병합을 시도했는데 "must be ancestrally related"오류가 발생했습니다.
그래서 해결책은
I browsed to "DB" folder in branch, right click and select Tortoise SVN->Merge-> Merge a range of revisions ->
이제 병합 할 URL에서 다음을 선택했습니다.
the "DB" folder from my tag.
Then, "test branch". Everything worked fine :D
그래서 "Merge"버튼을 클릭했습니다.
이 오류는 분기 (또는 트렁크) 중 하나와 똑같은 이름의 파일이있는 경우 발생할 수 있습니다.
# svn switch ^/trunk
Updated to revision 123.
# ls
file1
file2
v1
# svn merge --reintegrate ^/branches/v1
svn: E195016: ^/branches/v1@123 must be ancestrally related to ^/trunk/v1@123
이 문제를 해결하려면 현재 dir을 명령에 추가하십시오 (점 참고) :
# svn merge --reintegrate ^/branches/v1 .
이것은 실생활의 예이며 매우 불쾌한 시간을 두어 번 들였습니다. :(
나는 다른 프로젝트와 합병하고 있었다. 이 문제가 발생했습니다. 나는 올바른 지점과 합쳐서 잘 작동했습니다. 내 나쁜 난독증
나는 같은 오류가 있었고 그 이유는 권한에 관한 것입니다.
문제는 한 개발자가 읽기 / 쓰기 권한이있는 다른 분기에 대한 변경 사항을 통합하려고 시도하기 때문에 읽기 / 쓰기 권한이 있지만 마지막 분기는 읽기 권한 만있는 다른 분기에서 만든 분기입니다.
다음은 권한이있는 구조입니다 (r = 읽기, w = 쓰기).
트렁크 (r) 개발 (r) QA (rw) 분기 featureBranch1 (rw)
이 경우, 개발은 트렁크에서, QA는 개발에서, featureBranch1은 개발에서 작성되었습니다. 그가 개발에서 생성 된 브랜치 인 QA에 featureBranch1을 재 통합하려고하는데 개발을위한 쓰기 권한이 없다는 사실은 우리의 경우 QA에서 featureBranch1을 재 통합하려고 할 때이 메시지를받는 문제입니다.
그에게 개발을 위해 쓰기 권한을 부여한 직후 메시지가 사라집니다.
I had the same problem. I fixed it by correctly cd on which I merged. I was merging in the path directory to project not in the path directory to trunk ( who is the actual ancestor).
참고URL : https://stackoverflow.com/questions/490164/svn-reintegration-merge-error-must-be-ancestrally-related
'Programing' 카테고리의 다른 글
HTML 인코딩은 모든 종류의 XSS 공격을 방지합니까? (0) | 2020.11.28 |
---|---|
ASP.NET MVC 베타에서 IP 주소로 특정 컨트롤러에 대한 액세스 제한 (0) | 2020.11.28 |
"어셈블리"대 "어셈블러" (0) | 2020.11.28 |
NULL / 0을 dynamic_cast에 전달하는 것이 이식 가능합니까? (0) | 2020.11.28 |
Objective-C in, out, inout, byref, byval, .. 등등. (0) | 2020.11.28 |