Como dividir e editar os patches?

9

Às vezes, preciso dividir um grande patch em pequenos (não contíguos), por exemplo para cada recurso separado incluído.

Normalmente eu faço isso através de comandos vy yank / dd padrão e comutação de janela dividida.

Mas há algumas ferramentas / truques de vim para ajudar com esse tipo de edição?

Por exemplo, suporte para comandos como: mova os 3 próximos blocos completos para o arquivo de correção aberto à direita

    
por maxschlepzig 30.09.2010 / 23:00

4 respostas

7

Você pode querer dar uma olhada nos patchutils [1]. Para a parte vim, eu escrevi um pequeno plugin vim que ajuda na navegação em patches: diff_navigator [2].

[1] link

[2] link

    
por 01.10.2010 / 09:50
5

Um pouco fora do tópico, eu acho, mas ainda acho que é útil.

Se você usar o git para fazer o seu desenvolvimento, você pode facilmente dividir todas as suas alterações em "pedaços" menores, que incorporam um recurso a cada. Você acaba com um commit por recurso e pode usar o git-format-patch do git para criar (e até assinar e atribuir corretamente) patches, eu delineei como fazer isso aqui

    
por 30.09.2010 / 23:27
2

Meu Suse tem splitdiff util que funciona assim:

$ splitdiff -a tmp.179639.patch
Wrote >tmp.179639.patch.part001
Wrote >tmp.179639.patch.part002
    
por 03.07.2012 / 15:12
0

Você pode usar este para dividir o grande patch em partes menores (por arquivo ou cada pedaço) e, em seguida, se você precisar mesclar, use o combinediff do pacote patchutils mencionado em Agenda do P. Uzel

    
por 03.07.2012 / 14:56

Tags