From: Junio C Hamano Date: Sun, 30 Sep 2007 19:59:26 GMT Subject: Re: GIT_EXTERNAL_DIFF invoked with undocumented calling convention after unstashing conflicts Message-ID: <7vk5q7hqld.fsf@gitster.siamese.dyndns.org> In-Reply-To: <200709302117.37422.bruno@clisp.org> > "git diff --uncached" invokes the GIT_EXTERNAL_DIFF variable with just one > argument (instead of 7 arguments, as documented) in a particular situation: You are looking at an unmerged path. 'GIT_EXTERNAL_DIFF':: When the environment variable 'GIT_EXTERNAL_DIFF' is set, the program named by it is called, instead of the diff invocation described above. For a path that is added, removed, or modified, 'GIT_EXTERNAL_DIFF' is called with 7 parameters: ... + For a path that is unmerged, 'GIT_EXTERNAL_DIFF' is called with 1 parameter, . The script needs to decide how it wants to present an unmerged path; the information on each unmerged stages can be read from the output of "ls-files -u $thatpath".