I wrote a very simple Python script to see which arguments git-diff
passes to the external diff program when comparing files across
branches:

$ env GIT_EXTERNAL_DIFF=./print_argv.py git diff
origin/branch1:file1.txt origin/branch2:file2.txt
['./print_argv.py',
 'file1.txt',
 '/tmp/QRaIJ1_file1.txt',
 '802b1c4ed7b06162b2ce09b7db72a576695b96e5',
 '100644',
 '/tmp/AZuOJ1_file2.txt',
 '076e8e37a712d8a66c0c3d1a103050dc509ca6ff',
 '100644',
 'file2.txt',
 'index 802b1c4..076e8e3 100644\n']

According to the docs
(https://www.git-scm.com/docs/git/2.22.0#Documentation/git.txt-codeGITEXTERNALDIFFcode),
git-diff is supposed to pass 7 parameters:

path old-file old-hex old-mode new-file new-hex new-mode

This is not what I am seeing here. Is this a bug or
incorrect/incomplete documentation?

Tested with git 2.22.0 and 2.17.1.

Reply via email to