2017-12-30 31 views
1

오늘 브랜치를 다시 병합하여 오래된 브랜치로 옮기고 케이스 폴딩 충돌로 인해 원래 브랜치로 업데이트 할 수 없다고 들었습니다.관련 분기가있는 Mercurial 케이스 폴딩 충돌을 해결하는 방법은 무엇입니까?

내 REPO 조금 다음과 같습니다

  • 기본 분기, 개정 1 : 대부분의 파일을 추가합니다.
  • 기본 분기 개정 2 : 파일 xyzXYZ을 추가합니다. 아마도 리눅스 머신에서 수행되었을 것입니다. 다양한 변경, 아무런 문제
  • 개정 36 : : 이것은 다시 2008 년
  • 기본 분기 개정 3-35에서였다 새로운 기능 지점을 추가
  • 기능 지점, 개정 71 : Windows에서 통지 Sourcetree는 xyz 것으로보고된다
  • 기능 지점, 개정 72 ... 삭제, 그래서이되는 것을 커밋한다 :이 명시 적으로이 시점에서 둘 xyzXYZ

을 제거 변경, 난 기능 분기를 병합하고 싶어 다시 디폴트이지만, xyz이 레포에 전혀 없을 때 버전 71 또는 리비전 1을 제외한 다른 버전으로 다시 업데이트 할 수는 없습니다. 분명히 2에서 71까지의 모든 변경 세트는이 2 개의 파일로 '오염'되어 있으며 Windows 및 Mac 컴퓨터에서는 1로만 체크 아웃 할 수 있습니다.

일반적인 제안 솔루션 - - https://www.mercurial-scm.org/wiki/FixingCaseCollisions가 작동하지 않습니다 " '!'HG 상태 상태 상태에서 'R'다른 모든 파일을 번거로운 파일을 보여 주어야한다"는 말한다, 그러나 나는이 단계를 수행 할 때, 실제로 다른 모든 파일을 상태 'M'에 표시합니다. 이는 분명히 원하는 것이 아니며 진행하면 일부 데이터 손실이 발생한다는 것을 의미합니다.

또한 Windows 나 MacOS에서 원하는 병합을 수행 할 수 없다고 생각합니다. 왜냐하면 리비전 35를 사용할 수있는 상태 여야하기 때문에, 리비전 35를 가져올 수 있기 때문입니다.

해결하기 위해 할 수있는 일이 있습니까? 내 모든 파일은 안전하며이 저장소를 다시 작동 시키려면 xyz 파일의 모든 데이터와 수정본을 잃어 버릴 용의가 있습니다. 그러나 나는 repo와 changelog를 완전히 잃어 버리지 않는 것이 좋습니다.

+0

당신은 항상 내가 편리한에는 VM 기능이 없기 때문에 원격 서버를 제외하고 기본적으로이 작업을 수행하는 데 결국 filesnames – planetmaker

+0

의 경우 차별화를 지원하는 OS와 VM에서 해당 병합 할 수 있습니다. – Kylotan

답변