A veces necesito dividir un parche grande en parches más pequeños (disjuntos), por ejemplo, para cada característica separada incluida.
Por lo general, lo hago a través de comandos estándar vim yank / dd y cambio de ventana dividida.
¿Pero hay algunas herramientas / trucos vim para ayudar con este tipo de edición?
Por ejemplo, soporte para comandos como: mover los 3 siguientes trozos completos al archivo de parche abierto a la derecha
Respuestas:
Es posible que desee echar un vistazo a patchutils [1]. Para la parte vim, escribí un pequeño complemento vim que ayuda a navegar en parches: diff_navigator [2].
[1] http://cyberelk.net/tim/software/patchutils/
[2] http://www.vim.org/scripts/script.php?script_id=2361
fuente
diff_navigator
URL aparentemente es vim.org/scripts/script.php?script_id=2361 Emacs tiene características similares en los modos Ediff y SMergeSupongo que fuera de tema, pero sigo pensando que es útil.
Si usa git para hacer su desarrollo, puede dividir fácilmente todos sus cambios en "trozos" más pequeños que incorporan una característica cada uno. Termina con una confirmación por función y puede usar git
git-format-patch
para crear (e incluso firmar y atribuir correctamente) parches, describí cómo hacerlo aquífuente
My Suse tiene
splitdiff
util que funciona así:fuente
Puede usar esto para dividir el parche grande en fragmentos más pequeños (ya sea por archivo o por cada trozo) y luego, si necesita fusionar, use combineiff del paquete patchutils que se mencionó en la respuesta de Petr Uzel
fuente