2017-05-14 7 views
2

수은에 공개 리포가 있습니다 (내 것이 아닙니다). 여기에는 두 개의 하위 레고가 있습니다. 나는 두 개의 하위 리포지토리 모두에 대한 포크를 만들었습니다. 때때로 풀 요청을 만들고 싶지만 서브 레포트가 제대로 작동하지 않습니다. 분기 된 Repo를 복제하면 다운로드되지만 두 개의 하위 리포지토리는 내 포크가 아닌 원본으로 유지됩니다. 나는 그것들을 갈래로 대체 할 것이고, 원래의 repo를 내 서브 렌더링으로 바꾸고 싶지 않기 때문에 풀 요청을 할 수 없을 것이다. 그러나 나는 repo와 subrepo를 모두 바꾸고 싶습니다. 일단 해결책을 찾았습니다. subrepo의 .hg 폴더에서 hgrc 파일을 수정했습니다.TortoiseHG, 자릿수가있는 포크 - 강제 실행 및 밀어 넣기 .hgsubstate 만

It was: 
[paths] 
default = ssh://[email protected]/originator/subrepo 

이 될 : 그것은 예상대로 정확히 일하고

[paths] 
Me = ssh://[email protected]/Me/subrepo 
Original = ssh://[email protected]/originator/subrepo 

. Subrepo에 푸시 요청을 작성하여 코드를 변경했습니다. 그런 다음 주 repo에 변경 사항을 적용했으며 간단하게 작동했습니다. .hgsubstate는 현재 fork 된 repo에 존재하지만 원래의 repo에는 존재하지 않는 것을 커밋하려고합니다. orignator가 두 요청을 모두 끌어 당기면 모든 것이 작동합니다.

이전에 작동했지만 지금은 작동하지 않는다고 말했습니까? 이상한 이유가 있기 때문에 나는 .hgsubstate를 fork 할 수 없다. 이것은 forked subrepo에 존재하는 새로운 subrepo 개정판을 가리킨다. 나는 그것을 커밋에 포함시킬 수 없다. "커밋"을 클릭하지만 결과 커밋에는 포함되지 않습니다. 그리고 나는 강제하는 법이 포함되는 것을 모른다 - HG도 그것에 대해 "똑똑하다". 또한 TortoiseHG는 내 서브 프리 토를 더러운 것으로 표시합니다. 그러나 .hgsubstate와 내 더러운 repo를 모두 추가하려고하면 어떤 이유로 든 원래의 repo에 변경 사항을 적용하려고 시도합니다. 내 HG가 subrepo 자체를 변경하지 않고 .hgsubstate를 위임 할 수없는 것 같습니다. 이 문제를 해결할 방법이 있습니까? 내가 원하는 모든 것은 다른 일을하지 않고 .hgsubstate를 저지르고 밀어 넣는 것입니다.

답변

0

.ggsub를 조정하여 로컬 경로뿐만 아니라 서버로 전송하는 원격 경로에도 모두 작동하도록 하시겠습니까?

절대적인 의미로 경로를 설명하는 .hgsub 섹션을 추가하는 것이 좋습니다. 서버의 dir 구조에서 하위 수준을 같은 수준으로 사용했지만 하위 컴퓨터를 하위 컴퓨터로 사용하기를 원했을 때 그 부분과 어려움을 겪었습니다. .hgsub 서브 섹션 섹션을 추가하는 데 도움이되었습니다.

[subpaths] 
ssh://[email protected]/path/subrepo1 = ssh://[email protected]/subrepo1 
ssh://[email protected]/path/subrepo2 = ssh://[email protected]/subrepo2 

/home/user/project/subrepo1 = /home/user/subrepo1 
/home/user/project/subrepo2 = /home/user/subrepo2 

project/subrepo1 = subrepo1 
project/subrepo2 = subrepo2 
+0

이렇게하면 레포로 작업하는 데 도움이되지만 실제 문제는 아닙니다. 문제는 .hgsub를 수정하면 수정 된 버전이 끌어 오기 요청으로 제공된다는 것입니다. 문제가 있습니다. 저는 .hgsub을 수정할 수 없습니다. –