Gerrit version: 2.12.4
Git version: 1.7.9.5
Project Options
Submit Type: Merge if Necessary
Allow content merges: false
Create a new change for every commit not in the target branch: false
체리 - Gerrit에서 '병합 충돌'로 인해 대상 분기에 대한 커밋이 실패합니다. 그래서 우리는 지역에서 충돌이 무엇인지 알기 위해 그것을합니다.Gerrit UI를 통해 Cherry-pick이 실패하지만 로컬 git-cherry-pick을 통해 성공합니다.
저장소를 복제하십시오. 대상 분기를 체크 아웃하십시오. 새로운 커밋이 제출되지 않았습니다. 추가 옵션없이 cherry-pick 명령 git fetch ssh://foo refs/changes/xx/yyyxx/1 && git cherry-pick FETCH_HEAD
을 복사하여 붙여 넣으십시오. 체리 피크는 실패하지 않으며 충돌이 없습니다. 푸시, 검토 및 제출 끝난. 그래서 그것은 로컬 자식 명령을 통해 잘 작동합니다.
나는 테스트를한다. Allow content merges
을 true로 설정하면 충돌이 발생하지 않습니다. 그러나 '콘텐츠 합치기 허용'이 잘못된 경우 가끔씩 사소한 충돌을 해결하기 때문에 실제로는 불가능합니다.
나는 누군가가 비슷한 사건을 겪은 적이 있는지, 그리고 체리 피크는 왜 Gerrit와 로컬 repo에서 다르게 행동하는지 알고 싶습니다.
의견을 보내 주셔서 감사합니다.
JGit은 괜찮지 만 Git이 실패하면 병합 전략이 잘못되었을 수 있습니다. git-cherry-pick을 사용하면 예상대로 성공할 수있는 옵션이없는 것 같습니다. 그래서 그것이 버그인지 궁금하네요. – ElpieKay