Better merge tool integration

Maritza Mendez martitzam at gmail.com
Thu Jul 1 03:15:03 BST 2010


Bravo!  I have one small suggestion.  It would be wonderful if the API
would tolerate (pass through) arbitrary options.  Some diff/merge
tools accept quirky options.  Treating the command line as a template
with %b %t %o substituting without assuming any particular syntax
rules would make it very flexible.

~M


On 6/30/10, Gordon Tyler <gordon.tyler at gmail.com> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi all,
>
> I'm working on bug 489915 (https://bugs.launchpad.net/bugs/489915) to
> improve bzr's integration with external merge tools like kdiff3, meld, etc.
>
> My plan is:
>
> 1. Create a mergetools module in bzrlib which provides an API for
> configuring and invoking external merge tools.
> 2. Add 'bzr' commands for configuring and invoking the tools.
> 3. Modify qconflicts to use the mergetools module for invoking the tools.
> 4. Modify qconfig to use the mergetools module for configuring the tools.
>
> The configuration stored is pretty simple: just a commandline with the
> same substitution markers as bzr-extmerge (%b, %t, %o, %r, %T). Quotes
> are supported so stuff like "C:\Program Files\KDiff3\kdiff3.exe" will work.
>
> The mergetools API will allow querying whether the merge tool is
> available (is the path to the executable correct or is it available on
> the path?) and the "name" of the tool (i.e. the basename of the
> executable) for UI purposes.
>
> The reason it has an availability check is that I want to provide a
> default set of tools in the configuration that might be available on the
> path, and the UI would indicate which of these particular merge tools
> are available and pre-configured for use. The user would just have to
> pick the one they want to use as their default. They could also
> customize a particular merge tool to set the path to the executable if
> it cannot be found on the path (mostly for Windows).
>
> Any thoughts or ideas on improvements?
>
> Thanks,
> Gordon
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (MingW32)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iQEcBAEBAgAGBQJMK+hwAAoJEIrPJfWinA2uSBsH/ROJQCdcUpPfzS4vy0MV6lRA
> 8OZ8qg05yGZh/3A2s/gX7nrXXZeme6Hceq2PMsncqwbMFNg0B54O9TUHixLWMaRv
> hPKayExST8hV/aoo8qn/I2ksG9aEAu0+MwgJB2ZaMDGROcq1hfFgPL0zvrNLhH6m
> JLecbqRr3f5E+5u9YXfx4L+tSHyCVonxpccUgqxNPM9QvrztCf/qnFdqIZ+nxY+D
> ehNM+7/YbPv0rnwTD0QEHRB+Gxl7GX635mSpUJ7DAWm7BkrqNgh3KTm5AIQccUN1
> uBMoRcsDmoLrrGJwA9rBzARWGOHL7NIyzb5qlgi4/l8sCqtUJWRlJ27d1hpsLBQ=
> =rbRa
> -----END PGP SIGNATURE-----
>
>



More information about the bazaar mailing list