Re: GIT_EXTERNAL_DIFF invoked with undocumented calling convention after unstashing conflicts
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Sep 30, 2007, 19:59 UTC
- 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, <path>.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".