2009-05-05 6 views
2

며칠 전에 Darcs를 설치했으며 의심의 여지가 있습니다. 나는 유일한 프로그래머이며 보통 2 ~ 3 가지 응용 프로그램 인스턴스에서 작업하여 새로운 기능을 제공합니다. 이 문제는이 인스턴스가 동일한 소스 코드 파일을 수정하기 때문에 문제가 발생합니다. 따라서 완료 한 후 주 저장소로 보내면 충돌이 발생합니다. 이 문제를 해결할 방법이 있습니까? 주 저장소로 이동할 때 충돌없이 여러 파일에 같은 파일을 쓸 수 있습니까? 감사합니다.Darcs 충돌

답변

5

먼저 파일의 다른 위치에서 변경이 발생하면 일반적으로 병합 할 때 충돌이 없습니다. 두 패치가 충돌없이 병합 될 수있을 때 통근한다고합니다. 귀하의 경우 두 개의 다른 지점에서 파일의 동일한 부분을 수정 한 경우가 발생합니다. 이 경우 darcs는 충돌을 일으키는 두 번째 패치를 "푸시 (push)"하지 않습니다.

이러한 문제를 해결하는 방법은 두 가지가 있지만 작업 저장소에서 충돌을 피하기 위해 두 패치를 로컬로 병합해야합니다. 이렇게하려면 주 저장소에서 패치를 가져옵니다. 그런 다음 불쾌한 파일을 편집하고 충돌을 해결해야합니다.

첫 번째 방법은 간단하고 선호하는 해결책입니다. 아직 주 저장소에없는 패치를 "수정"해야합니다 ("darcs amend-record"명령의 사용법을보십시오).

다른 해결책은 "darcs record"를 호출 한 다음 충돌 패치와 해결 패치를 모두 눌러 해결 패치를 기록하는 것입니다. 이 솔루션은 히스토리를 복잡하게 만들고 이후의 작업을 더 길게 만들 수 있습니다. 그러나 지사가 많이 배포되면이 솔루션이 필요하게됩니다.