파일의 일부만 패치합니다.

파일의 일부만 패치합니다.

fileWithMyFix.c와 fileCustUpdated.c라는 두 개의 파일이 있습니다. filewithmyfix를 수정했지만 고객이 동일한 파일을 다른(관련되지 않은 변경 사항)로 업데이트하고 있다는 것을 전혀 몰랐습니다.

내 변경 사항을 해당 파일에 푸시해야 합니다. 두 파일에 차이가 있기 때문에 플랫 패치가 작동하지 않는 것 같습니다. 이를 비교하고 패치를 적용하면 fileWithMyFix와 일치하도록 fileCustUpdated.c를 복원하려고 시도하지만 결국 문제가 발생합니다.

패치할 파일의 특정 부분을 정확히 찾아낼 수 있는 방법이 있나요? fileWithMyFix.c를 방금 svn에서 제거한 변경되지 않은 파일과 비교한 다음 그런 식으로 패치를 적용해야 합니까? 줄번호가 안맞고 문제도 생길 것 같아요.

편집 - 이전 버전과 비교했을 수도 있지만 복원을 수행하고 패치가 올바르게 적용되었습니다. 새로운 질문 - 이것을 피하기 위해 어떻게 diff를 할 수 있나요?

답변1

수정된 파일과 수정되지 않은 버전을 비교해야 합니다. diff 출력 형식에 다른 옵션이 있는 경우 통합 diff 또는 상황별 diff를 만듭니다. 이러한 형식에는 수정된 줄 주위에 일부 컨텍스트 줄이 포함됩니다. patch줄 번호가 변경된 경우에도 도구는 일반적으로 수정할 줄을 찾습니다.

파일이 SVN에 있는 경우 두 개의 작업 영역을 사용하고 하나의 작업 영역에서 고객 버전을 커밋한 다음 수정된 버전으로 작업 영역을 업데이트할 수 있습니다. 이렇게 하면 클라이언트의 변경 사항이 파일에 병합되고 (아마도 충돌을 해결한 후) 최종적으로 파일을 커밋할 수 있습니다. 이제 모든 수정 사항이 포함되어야 합니다.

관련 정보