diff 로 만들어진 patch 2개를 합치려면 어떻게 해야 할까요?

랜덤여신의 이미지

diff 로 만들어진 patch 2개를 합치려면 어떻게 해야 할까요?

같은 원본 파일을 2사람이 각기 편집해서, 2개의 서로 다른 파일을 만들었습니다.
원본 파일과 2개의 파일을 각각 비교해서 2개의 patch 를 만들었는데요, 이 2개의 patch 파일을 합칠 수 있을까요?

어떤 사람이 변경한 내용 때문에 다른 사람이 변경한 내용의 줄번호가 틀리게 되는 것까지 고려해서 말이지요;

정태영의 이미지

patch 에서 줄번호 살짝 틀린거 정도는 ..
알아서 찾아줍니다 :)

오리지널 소스를 풀어놓고.. 백업한 뒤..
두 패치를 가하고.. 다시 diff를 뜨는 방법도 있겠지만..

그냥 두 파일을 합쳐주는 것 만으로도 대게 별 문제없이 잘 됩니다 :)

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

ymink의 이미지

이럴 때 쓰라고 diff3 가 있는 것 아닐까요? :)

원본 : old.c
내가 고친 것 : my_file.c
남이 고친 것 : her_file.c

$ diff3 -m my_file.c old.c her_file.c > merged.c
$ vi merge.c
$ diff -u old.c merge.c

물론 conflict는 직접 해결하셔야겠고.. (없다면 다행이지만)
마지막에 diff 하면, 원하시는 깔끔한 patch file이 나옵니다.

그런데, file이 하나일 때야 이렇게 하면 되겠지만... 여러 개일 때는 어떻게 쉽게 할 수 있을 지 고민입니다. :(