I have put up a demo repo here: https://github.com/dniku/git-external-diff-argv On Tue, 27 Aug 2019 at 21:24, Dmitry Nikulin <pastafariant@xxxxxxxxx> wrote: > > 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.