emacs - tool - ¿Puede Ediff Merge mostrar simultáneamente el antepasado, A, B y los buffers de fusión?
kdiff3 sourcetree (2)
Esto se ha añadido a la versión troncal. Ahora, de manera predeterminada, las combinaciones de 3 vías muestran cuatro búferes, es decir, "local" (búfer A), "remoto" (búfer B), el resultado de la fusión (búfer C) y el antepasado. Puede cambiar esta configuración predeterminada de la nueva opción ''ediff-show-ancestor''.
La clave ''/'' ahora está vinculada a un nuevo comando ''ediff-toggle-show-ancestor'': alterna entre mostrar 3 (local, remoto y resultado) o 4 (local, remoto, resultado, ancestro).
Estos cambios serán visibles en la versión 26.1 de Emacs.
Soy un usuario de emacs
kdiff3
, pero hasta ahora siempre he usado kdiff3
para las kdiff3
de 3 vías con el ancestro, por ejemplo, al realizar git merge
o rebase
. Realmente me gusta la forma en que kdiff3
no solo puede mostrar simultáneamente las cuatro versiones del texto que se fusiona:
- el ancestro común (buffer A en
kdiff3
) - "nuestro" alias "local" (búfer B en
kdiff3
) - "hiss" aka "remote" (búfer C en
kdiff3
) - el resultado de la fusión o el objetivo
pero también aclara las diferencias entre A , B y C mediante el resaltado de color. Sin embargo, kdiff3
no es sorprendente en comparación con emacs
cuando se trata de la edición de texto del búfer de fusión, ya que kdiff3
no es un editor de texto completo. Tampoco se integra de magit
con el excelente paquete magit
. Así que estoy intentando cambiar a usar ediff
al resolver conflictos en este escenario en particular (he estado usando exitosamente ediff
para otros casos de uso durante muchos años).
Sin embargo, a pesar de leer el ediff y la página de EmacsWiki , y preguntar en #emacs
IRC, no puedo encontrar una manera de mostrar simultáneamente los 4 buffers. Por defecto muestra:
- "nuestro" también conocido como "local" (etiquetado como búfer A )
- "hiss" aka "remote" (etiquetado como buffer B )
- el resultado de la fusión o el destino (etiquetado como buffer C )
Al presionar /
cambiar la ventana que muestra el búfer de resultados de combinación ( C ) para que muestre el búfer del antepasado, pero no puede ver el antepasado y el resultado de la combinación simultáneamente. (Además, la diferencia en el búfer del antepasado se resalta en un solo color que no muestra claramente qué bits difieren de los otros dos búferes visibles ( A y B ), aunque de acuerdo con este hilo , parece que desafortunadamente el refinamiento del antepasado dif tiene No se ha implementado todavía.)
¿Hay una manera fácil de configurar ediff
para mostrar simultáneamente los 4 buffers?
No, no hay una manera fácil de configurarlo para hacer eso. Existe la opción ediff-window-setup-function
, que puede personalizar para que sea la función que desee. Puede ver los valores predeterminados, ediff-setup-windows-plain
y ediff-setup-windows-multi
para tener una idea de lo que tendrá que hacer. De hecho, la forma más fácil de proceder será copiar uno de ellos en su configuración de emacs y modificarlo (cambiando el nombre, por supuesto); No son triviales.