Binary diff/merge proposal
Martin Pool
mbp at canonical.com
Wed Oct 13 02:48:11 BST 2010
On 13 October 2010 09:02, jbowtie at amathaine.com <jbowtie at amathaine.com> wrote:
> Design - Diff
> ------------------
>
> When a file is selected for diffing, it selects a differ from the
> registry using the following algorithm:
>
> 1) If an specific diff tool was supplied on the command line, it is selected.
> 2) It matches the filename against the registered *pattern* - this
> allows for a per-file diff.
> 3) It matches against the registered mimetype - this allows for
> per-filetype diff.
> 4) It falls back to the default external diff program (if configured,
> as per current functionality)
> 5) It falls back to the default diff algorithm.
>
> The registry can be populated in 2 ways:
> 1) A plugin can register a diff tool for a particular pattern or mimetype.
> 2) External diff tools can be registered for a pattern or mimetype via
> the configuration file.
>
> Differs can supply both text-mode and gui-mode differs. A GIMP differ,
> for example, can indicate which layers were changed in text-mode, and
> actually display the changed layers in gui-mode.
Starting off with just #1, explicitly selected on the command line,
would be nice, then we can add automatic selection.
> Design - Merge
> ----------------------
>
> Merge tools are selected in the same way as differs. For merge tools
> we need to flag whether it supplies a gui for conflict resolution or
> not.
Presumably this is only file-by-file diff and merge, and it's going to
rely on a more general tree-shape merge?
This sounds good. Put up small step merge proposals so we can help
you work out the best place to fit it in.
--
Martin
More information about the bazaar
mailing list