2010-07-22 11 views
5

Veo la opción para especificar tres archivos (izquierdo, derecho y antecesor), pero no parece posible mostrar el antepasado.¿Cómo se hace una combinación de 3 vías en FileMerge?

enter image description here

El panel inferior muestra el resultado de la combinación. Prefiero ver cuál era el contenido original, para poder entender el contexto de los lados izquierdo y derecho del conflicto. es posible? FileMerge tiene una horrible documentación de ayuda.

Respuesta

4

Que yo sepa, esto no es posible con filemerge.

de pago (pero muy bueno) aplicación: http://www.deltopia.com/

de código abierto: http://sourcegear.com/diffmerge/

+0

Deltopia se ve bien. Gracias. –

+2

Perforce's P4Merge es una gratuita y maravillosa herramienta de diff/merge tripartita y está disponible para OSX, Linux y Windows – Clafou

+0

Dado que esta es la respuesta aceptada y las personas están conectando sus herramientas favoritas, mencionaré kdiff3 (también mencionado en la respuesta a continuación), que es gratis y se fusiona muy bien. Es bastante feo (en OSX) pero amigable con el teclado y fácil de usar. – LOAS

5

Parece que en la versión 2.5 se han añadido finalmente esta función. "Antepasado" ahora significa "antepasado" y hay una opción independiente "fusionar"

Desde la línea de comandos que puede hacer algo como esto:

$ opendiff mine theirs --ancestor base 

Donde "mío" es mi versión del archivo , "de ellos" es la versión con la que intento fusionarme, y "base" es el ancestro común de "mío" y "suyo".

Este comando abrirá File Merge y mostrará el antecesor en la parte inferior (donde la fusión está en mi ejemplo de 2010).

Lamentablemente, no es posible ible utilizar la opción --merge junto con la opción --ancestor. Por lo tanto, no puede ver una fusión tripartita Y usar la Combinación de archivos para resolver los conflictos al mismo tiempo.

Estoy empezando a usar File Merge para ver y entender el conflicto, luego edito los marcadores de conflicto en un editor de texto como de costumbre. (Suspiro ...)

+0

Uso FileMerge 2.5 ... la opción Ancestro está ahí, pero en la parte inferior no aparece el archivo antecesor ...Solo está el producto de fusión. ¿Alguna idea? – MirkoBanchi

+0

Parece que estaba equivocado. Vea la respuesta de Jake Griffin. –

3

@mehaase: Eso no es exactamente correcto. Aquí está la documentación sobre la nueva opción ancestro de Ayuda FileMerge:

Sometimes, you need to compare two versions of a file that have been modified 
independently. For example, say two people branch a file; that is, they make 
copies of a file and modify it. In this case, specify an ancestor file, which 
is the common ancestor of the modified files. 

The ancestor file lets FileMerge choose when to take changes from the left 
file or the right file. For example, say the left file and the right file 
contain a different version of line 33. If line 33 in the ancestor matches 
line 33 in the left file, you know the change happened after the two files 
branched off, and FileMerge prefers the newer version of line 33 in the right 
file. If line 33 is different among the three files, you know that the files’ 
editors edited the lines separately. FileMerge displays that difference with 
a red border and asks you to choose with edit to use. 

Así que no es dibujado el antepasado, pero ayuda a la herramienta de combinación para hacer un poco de decisiones más informadas cuando decide optar por la izquierda o hacia la derecha lados por defecto.

+0

Guau, excelente punto. No sé en qué estaba pensando cuando publiqué mi respuesta. Acabo de probarlo en la versión 2.7 y tienes razón, la parte inferior muestra el resultado de la fusión, ¡no el ancestro! FileMerge sigue siendo inútil para los programadores. Me pregunto qué están usando los propios desarrolladores de Apple. –

2

realizo esta respuesta técnicamente no responde a la pregunta de cómo hacerlo con FileMerge, pero yo uso kdiff3 (disponible para Windows, Mac y * nix) y se nota la base/antecesor, además de la izquierda y derecha, más salida/resultado, para una combinación de 3 vías. (http://kdiff3.sourceforge.net/)

No es una interfaz de usuario bonita, pero (en mi humilde opinión) es bastante simple de usar y funciona bien. Y es de código abierto. :-)

Cuestiones relacionadas