2010-06-18 3 views
7

패치 할 커널 버전과 커널 버전이 약간 다릅니다. 말할 것도없이 패치가 부분적으로 실패합니다. 나는 그것을 수동으로 확실히 고칠 수 있지만 충돌을 해결하는 데 사용할 수있는 그래픽 패치 유틸리티가 있는지 궁금합니다.그래픽 패치 유틸리티

답변

1

그래픽 패치 유틸리티에 대해 모르겠지만 이전 커널 버전의 파일을 구한 다음 패치를 적용하여 패치 된 이전 파일을 구합니다 (이전 파일 유지). (s)), 새 커널 버전의 파일을 구한 다음 GNU Meld과 같은 3 방향 병합 도구를 사용하십시오.

이 절차는 약간의 시간이 소요되지만 Subversion 충돌을 해결하는 데 매우 유용하다는 사실을 알게되었습니다 (달성하려는 것과 매우 유사). 그리고 두 커널 버전의 파일이 다른지 어떻게 다른지 빠르게 확인할 수 있습니다. 변경된 내용과 패치 라인과 호환되도록하기 위해 패치 라인을 변경해야하는 다양한 변경 사항이 있습니다. 새 파일.

+0

나는 meld에 대해 알고 있습니다. 여러분이 제안한 것과 관련된 명백한 문제는 이전 커널 버전과 새로운 커널 버전 사이에 패치 외에도 많은 차이가 있다는 것입니다. 내가 찾는 유틸리티가 존재하지 않으므로 수동으로해야 할 것입니다. 어쨌든 고마워. – Demiurg

8

은, 그들이 당신의 배포 meld, diffuse, kdiff3 또는 dirdiff을 포장해야한다 시도, 많은 그래픽 패치 유틸리티가 있습니다.

유용한 도구는 wiggle입니다. 충돌을 해결하기 위해 "더 노력"하고, rej 파일을 패치에서 >>> 마커와 CVS 스타일의 인라인 충돌로 바꿉니다.

가 나는 근본적인 개정 시스템을 사용하는 경향이, 그래서 나는 같은 내가 사용, 그들이 잘못이 있다면 그 변화를 되돌릴 행복 해요 :

wiggle -v --replace <file> <file.rej>

변환을 말한다

그 자리에서, 때로는 올바른 일을 할 것이고, 다른 때에는 >>> 마커로 끝나고 손으로 편집 할 수도 있지만, 손으로 rej 파일을 사용하는 것보다 쉽습니다. 정말 나쁜 일을하는 경우 내 개정 관리 시스템 (git)을 사용하여 원본으로 되돌립니다.

0

Firefox Light v27 베타 4에 Firefox Light v27 패치를 적용하는 동안 비슷한 상황이 발생했습니다. Linux 용으로 컴파일하십시오. 한 텍스트 편집기에서 패치를 열고 코드를 다른 편집기에서 열었습니다.

마우스 패드 였지만 gedit, Leafpad, Geany와 같은 간단한 텍스트 편집기를 사용할 수있었습니다. 그런 다음 모든 모드를 한 창에서 다음 창으로 나란히 배치했습니다. 그렇게 느리다. "찾기"는 올바른 편집 위치로 점프하는 데 도움이되었습니다.

빈 창에 사용하는 패치 조각을 붙여 넣으면 + 기호를 찾아서 바꾸고 아무 것도 사용하지 않아서 사용 가능한 코드로 바꿀 수 있다고 언급해야합니다 ... 위쪽 화살표 및 삭제 키에 손가락이 끼어 들지 않고 큰 코드 블록이 더 쉽습니다.