Thread (10 messages) flat view 10 messages, 4 authors, 2016-08-17

Re: git-mergetool reverse file ordering

From: Johannes Sixt <hidden>
Date: 2016-08-17 07:36:03

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
then
	cd_to_toplevel

	if test -e "$GIT_DIR/MERGE_RR"
	then
		set -- $(git rerere remaining)
	fi
fi
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help