threads / discuss / 29364

difftool / mergetool waiting

Subject: difftool / mergetool waiting

## tl;dr

3 messages between Jan 14, 2012 and Jan 20, 2012.

replies: 2people: 3as markdown or json

Jonathan Seng· Jan 14, 2012, 05:13 UTC · lore
Hello,

I would like an option to difftool and mergetool that would control waiting for a return code from the difftool: wait.

Like prompt, wait would be configurable with the difftool.name.
Like prompt and for backwards compatibility, wait would default true.
If wait is false, prompt would be overridden to be false.

If wait is false, git would fire off the tool command and proceed to the next then exit cleanly.

If wait is true, git would behave as now: it will wait for an exit code of each tool execution before proceeding.

Thank you,
Jonathan
Andreas Schwab· Jan 14, 2012, 08:38 UTC · re: Jonathan Seng · lore

Re: difftool / mergetool waiting

Jonathan Seng <nekenyu@gmail.com> writes:
> If wait is false, git would fire off the tool command and proceed to
> the next then exit cleanly.

That doesn't work for git mergetool, it wouldn't be able to postprocess the result of calling the tool command.

Andreas.
-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."
David Aguilar· Jan 20, 2012, 07:25 UTC · re: Andreas Schwab · lore

Re: difftool / mergetool waiting

On Sat, Jan 14, 2012 at 12:38 AM, Andreas Schwab <schwab@linux-m68k.org> wrote:
Show 7 quoted lines
> Jonathan Seng <nekenyu@gmail.com> writes:
>
>> If wait is false, git would fire off the tool command and proceed to
>> the next then exit cleanly.
>
> That doesn't work for git mergetool, it wouldn't be able to postprocess
> the result of calling the tool command.

The difficulty on the difftool side is that the git-difftool--helper scriptlet is being driven by git diff (as a $GIT_EXTERNAL_DIFF) and depends on git diff to do the temp file cleanup. Not blocking would return control immediately to git diff. This is unwanted because the temp files would likely be removed before the tools have a chance to open them.

You could write a script that simply forks off multiple difftool commands. The difftool stuff in git-cola does exactly that, for example.

-- 
            David

← back to recent threads