{"thread":{"id":"29364","subject":"difftool / mergetool waiting","startedAt":"2012-01-14T05:13:44Z","lastAt":"2012-01-20T07:25:31Z","messageCount":3,"participants":["Jonathan Seng","Andreas Schwab","David Aguilar"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"182531","messageId":"CAG=s6FnG=3hO5jykc8s40SrCPfvJSvtEMVNBSihX5Y7T3b9SMg@mail.gmail.com","threadId":"29364","inReplyTo":null,"subject":"difftool / mergetool waiting","fromName":"Jonathan Seng","fromEmail":"nekenyu@gmail.com","sentAt":"2012-01-14T05:13:44Z","receivedAt":"2012-01-14T05:13:44Z","isPatch":false,"sender":{"key":"nekenyu@gmail.com","avatar":null},"body":"Hello,\n\nI would like an option to difftool and mergetool that would control\nwaiting for a return code from the difftool: wait.\n\n\nLike prompt, wait would be configurable with the difftool.name.\n\nLike prompt and for backwards compatibility, wait would default true.\n\n\nIf wait is false, prompt would be overridden to be false.\n\nIf wait is false, git would fire off the tool command and proceed to\nthe next then exit cleanly.\n\nIf wait is true, git would behave as now: it will wait for an exit\ncode of each tool execution before proceeding.\n\n\nThank you,\n\nJonathan\n"},{"id":"182539","messageId":"m239biadb5.fsf@igel.home","threadId":"29364","inReplyTo":"CAG=s6FnG=3hO5jykc8s40SrCPfvJSvtEMVNBSihX5Y7T3b9SMg@mail.gmail.com","subject":"Re: difftool / mergetool waiting","fromName":"Andreas Schwab","fromEmail":"schwab@linux-m68k.org","sentAt":"2012-01-14T08:38:54Z","receivedAt":"2012-01-14T08:38:54Z","isPatch":false,"sender":{"key":"schwab@linux-m68k.org","avatar":"https://avatars.githubusercontent.com/u/2175493?v=4"},"body":"Jonathan Seng <nekenyu@gmail.com> writes:\n\n> If wait is false, git would fire off the tool command and proceed to\n> the next then exit cleanly.\n\nThat doesn't work for git mergetool, it wouldn't be able to postprocess\nthe result of calling the tool command.\n\nAndreas.\n\n-- \nAndreas Schwab, schwab@linux-m68k.org\nGPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5\n\"And now for something completely different.\"\n"},{"id":"182837","messageId":"CAJDDKr4WWfui5micnDQ97fJQC_5UxXoAB062vhHEPBVa070Bvw@mail.gmail.com","threadId":"29364","inReplyTo":"m239biadb5.fsf@igel.home","subject":"Re: difftool / mergetool waiting","fromName":"David Aguilar","fromEmail":"davvid@gmail.com","sentAt":"2012-01-20T07:25:31Z","receivedAt":"2012-01-20T07:25:31Z","isPatch":false,"sender":{"key":"davvid@gmail.com","avatar":"https://avatars.githubusercontent.com/u/13196?v=4"},"body":"On Sat, Jan 14, 2012 at 12:38 AM, Andreas Schwab <schwab@linux-m68k.org> wrote:\n> Jonathan Seng <nekenyu@gmail.com> writes:\n>\n>> If wait is false, git would fire off the tool command and proceed to\n>> the next then exit cleanly.\n>\n> That doesn't work for git mergetool, it wouldn't be able to postprocess\n> the result of calling the tool command.\n\nThe difficulty on the difftool side is that the git-difftool--helper\nscriptlet is being driven by git diff (as a $GIT_EXTERNAL_DIFF) and\ndepends on git diff to do the temp file cleanup.  Not blocking would\nreturn control immediately to git diff.  This is unwanted because the\ntemp files would likely be removed before the tools have a chance to\nopen them.\n\nYou could write a script that simply forks off multiple difftool\ncommands.  The difftool stuff in git-cola does exactly that, for\nexample.\n-- \n            David\n"}]}