Am 17.08.2016 um 08:46 schrieb David Aguilar:
The only thing that using diff-files doesn't address is the
rerere support in mergetool where it processes the files in
the order specified by "git rerere remaining".  This is why I
initially thought we needed a generic sort-like command.

I see. This is actually an important code path. How about this code structure:

if test $# -eq 0

        if test -e "$GIT_DIR/MERGE_RR"
                set -- $(git rerere remaining)
files=$(git diff-files --name-only --diff-filter=U -- "$@")

This does not require an enhancement of rerere-remaining and still captures all three cases that currently go through separate branches. (Throw in some version of --ignore-submodules= if necessary, but I guess it is not.)

We do have a problem if there are file names with spaces, but it is not a new problem.

The patches could then be:

1. switch to diff-files, add tests, and document how
   diff.orderFile affects mergetool.

2. Teach mergetool about the "-O<orderFile>" flag so that it can
   override the configuration, and add tests.  It could be
   argued that this should be squashed into (1).

3. (optional) teach "rerere remaining" to honor the
   -O<orderfile> flag and teach mergetool to supply the option.

Sound good?

Sure, except that 3. won't be necessary.

-- Hannes

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to