version control - mac - Usando mercurial y más allá de comparar 3(bc3) como la herramienta diff? se necesita ayuda
winmerge free (9)
en windows puedo usar winmerge como la herramienta diff externa para hg usando mercurial.ini , etc.
Utilizando algunas opciones cambia que puedes encontrar en la web (creo que es un sitio web japonés) De todos modos, aquí por ejemplo:
hg winmerge -r1 -r2
listará el (los) cambio (s) de archivo (s) entre rev1 y rev2 en winmerge. Solo puedo hacer clic en el archivo para diff
pero para bc3:
hg bcomp -r1 -r2
hará que bc3 abra un cuadro de diálogo que indica que no se puede encontrar un directorio temporal.
Lo máximo que puedo hacer con bc3 y hg es
hg bcomp -r1 -r2 myfile.cpp
que abrirá diff entre rev1 y rev2 de miarchivo.cpp
Por lo tanto, parece que hg + bc3 no puede confirmar correctamente que todos los archivos cambian entre revisiones. Solo es posible diferenciar 1 archivo a la vez.
¿Alguien puede usar bc3 + hg mejor?
editar: ¡Problema resuelto!
Obtuve la solución de la página de soporte http://www.scootersoftware.com/support.php?zz=kb_vcs.php>scooter. Tengo que usar bcompare en lugar de bcomp Aquí hay un fragmento de mi mercurial.ini
[extensions] hgext.win32text = ;mhd adds hgext.extdiff = ;mhd adds for bc [extdiff] cmd.bc3 = bcompare opts.bc3 = /ro ;mhd adds for winmerge ;[extdiff] ;cmd.winmerge = WinMergeU ;opts.winmerge = /r /e /x /ub
Tuve que agregar lo siguiente para que funcione en mi máquina:
[extensions]
extdiff =
[extdiff]
cmd.bc3 = C:/Program Files/Beyond Compare 3/BCompare.exe
opts.bc3 = /ro
Si sigues obteniendo este error "Carpeta no disponible" de BC (lo hice, cuando tuve varias instancias de BC abiertas simultáneamente), intenta agregar la opción /solo
a la línea de comando, es decir:
[extdiff]
cmd.bcomp = C:/Program Files/Beyond Compare 3/BCompare.exe
opts.bcomp = /leftreadonly /solo
Visite esta página desde la página de soporte de Scooter Software , también incluye configuraciones para la mayoría de los sistemas de control de versiones, ¡una para mi lista de marcadores!
Retazo:
Para configurar Mercurial, necesita editar el archivo% USERPROFILE% / Mercurial.ini o $ HOME / .hgrc. Agregue las siguientes líneas, utilizando secciones INI existentes si ya existen:
Diferencia
[extensions] extdiff =
[extdiff]
cmd.bcomp = C:/Program Files/Beyond Compare 3/BCompare.exe
opts.bcomp = /ro
[tortoisehg] vdiff = bcomp
Una vez configurado, puede comparar las revisiones desde la línea de comando usando
hg bcomp -r <rev1> [-r <rev2>] [<filename>]
Combinación de 3 vías (v3 Pro)
[merge-tools]
bcomp.executable = C:/Program Files/Beyond Compare 3/BComp
bcomp.args = $local $other
$base $output bcomp.priority = 1
bcomp.premerge = True bcomp.gui = True
[ui] merge = bcomp
Probé las sugerencias dadas en ese momento pero ninguna funcionó.
Encontré los siguientes trabajos:
- Añadir más allá de comparar el directorio de instalación a la
path
sistema yor - Abra la configuración global y configure las herramientas diff para
bcompare
Ahora prueba un diff - Beyond Compare!
Beyond-Compare-3 es una herramienta increíble. Recomiendo algunos ajustes a la configuración:
[extensions]
extdiff =
[extdiff]
cmd.bcomp = C:/Program Files/Beyond Compare 3/BCompare.exe
opts.bcomp = /leftreadonly
[merge-tools]
bcomp.executable = C:/Program Files/Beyond Compare 3/BComp
bcomp.args = /leftreadonly /centerreadonly $local $other $base $output
bcomp.priority = 1
[ui]
merge = bcomp
[tortoisehg]
authorcolor = True
vdiff = bcomp
Si tiene problemas para que su configuración se analice correctamente, tenga en cuenta que cualquier espacio para cualquier nombre de variable o sección hará que la configuración se analice incorrectamente. Seguí copiando y pegando diferentes configuraciones y seguí recibiendo errores. Simplemente terminó que los espacios se agregaron antes de muchas de las variables y causó que no se analizaran.
Todas las respuestas dadas hasta ahora son para Windows. Aquí está mi configuración para aquellos que usan Linux.
Diferencia
[extensions]
extdiff =
[extdiff]
cmd.bcomp = bcompare
opts.bcomp = -ro1
Combinación de 4 vías (v3 Pro)
[merge-tools]
bcomp.executable = bcompare
bcomp.args = -title1=''First Parent'' -title2=''Second Parent'' -title3=''Common Ancestor'' -title4=''Output'' -ro1 -ro2 -ro3 $local $other $base $output
bcomp.premerge = True
bcomp.gui = True
-ro#
: desactiva la edición en el lado especificado
-title#=<title>
: muestra la descripción en lugar del nombre de archivo en la edición de ruta
#
carácter: 1 = Izquierda, 2 = Derecha, 3 = Centro, 4 = Salida
Para obtener más opciones de bcompare
, simplemente ejecute bcompare -help
en la consola.
Si está utilizando TortoiseHg, puede configurar la herramienta de fusión en Beyond Compare seleccionando Archivo -> Configuración, y luego en la opción TortoiseHg, seleccione Visual Diff Tool y Three-way Merge Tool. Esta configuración afecta a las fusiones que se establecen a través de la línea de comando también.
Personalmente, encontré que la mejor configuración de Beyond Compare se puede encontrar en el mergetools.rc file
archivo Mercurial mergetools.rc file
:
[merge-tools]
....
; Windows version of Beyond Compare
beyondcompare3.args=$local $other $base $output /ro /lefttitle=local /centertitle=base /righttitle=other /automerge /reviewconflicts /solo
beyondcompare3.regkey=Software/Scooter Software/Beyond Compare 3
beyondcompare3.regname=ExePath
beyondcompare3.gui=True
beyondcompare3.priority=-2
beyondcompare3.diffargs=/lro /lefttitle=''$plabel1'' /righttitle=''$clabel'' /solo /expandall $parent $child
También encontré que es importante NO incluir Beyond Compare en la sección extdiff
para que use beyondcompare3
de la sección merge-tools
con argumentos diffargs
. (Tengo beyondcompare3
especificado en ui.merge
y tortoisehg.vdiff
)