패치를 분할하고 편집하는 방법은 무엇입니까?

패치를 분할하고 편집하는 방법은 무엇입니까?

때로는 포함된 각 개별 기능에 대해 큰 패치를 더 작은(연속되지 않은) 패치로 분할해야 할 때도 있습니다.

일반적으로 저는 표준 vim yank/dd 명령과 분할 창 전환을 통해 이 작업을 수행합니다.

하지만 이러한 유형의 편집에 도움이 될 수 있는 몇 가지 도구/vim 트릭이 있습니까?

예를 들어 다음 명령이 지원됩니다. 열려 있는 패치 파일의 오른쪽으로 다음 완전한 3개 블록을 이동합니다.

답변1

patchutils[1]을 살펴보는 것이 좋습니다. vim 부분에서는 패치 탐색에 도움이 되는 작은 vim 플러그인 diff_navigator [2]를 작성했습니다.

[1]http://cyberelk.net/tim/software/patchutils/

[2]http://www.vim.org/scripts/script.php?script_id=2361

답변2

주제에서 조금 벗어난 것 같지만 여전히 유용하다고 생각합니다.

개발에 git을 사용하면 전체 변경 사항을 각각 기능이 포함된 작은 "청크"로 쉽게 나눌 수 있습니다. 기능당 하나의 커밋으로 끝나고 git을 사용하여 git-format-patch패치를 생성(서명하고 올바르게 속성 지정)할 수 있습니다. 이를 수행하는 방법을 설명했습니다.여기

답변3

Suse용 util이 있는데 splitdiff다음과 같이 작동합니다.

$ splitdiff -a tmp.179639.patch
Wrote >tmp.179639.patch.part001
Wrote >tmp.179639.patch.part002

답변4

당신은 그것을 사용할 수 있습니다이것큰 패치를 더 작은 청크(파일당 또는 청크당)로 분할한 다음 병합해야 하는 경우 다음을 사용하세요.패치 도구언급된 패키지피터 유젤의 답변

관련 정보