]> git.ipfire.org Git - thirdparty/git.git/commit - diff.h
difftool: display the number of files in the diff queue in the prompt
authorZoltan Klinger <zoltan.klinger@gmail.com>
Thu, 5 Dec 2013 23:38:46 +0000 (10:38 +1100)
committerJunio C Hamano <gitster@pobox.com>
Fri, 6 Dec 2013 22:00:27 +0000 (14:00 -0800)
commitee7fb0b1d433cbb433d2ed5cd9d8738023836b27
tree52298ded5e44caa1686cf3a636fb16cfebb7c630
parentd2446dfd7f3b3f8948142cfb07a0270e2497d93f
difftool: display the number of files in the diff queue in the prompt

When --prompt option is set, git-difftool displays a prompt for each
modified file to be viewed in an external diff program.  At that
point, it could be useful to display a counter and the total number
of files in the diff queue.

Below is the current difftool prompt for the first of 5 modified files:

    Viewing: 'diff.c'
    Launch 'vimdiff' [Y/n]:

Consider the modified prompt:

    Viewing (1/5): 'diff.c'
    Launch 'vimdiff' [Y/n]:

The current GIT_EXTERNAL_DIFF mechanism does not tell the number of
paths in the diff queue nor the current counter.  To make this
"counter/total" info available for GIT_EXTERNAL_DIFF programs
without breaking existing ones by doing the following:

 - Keep track of the number of paths shown so far in diff_options;

 - Export two new environment variables from run_external_diff() to
   show the total number of paths (from diff_queue_struct) and the
   current value of the counter (from diff_options); and

 - Update git-difftool--helper to use these two environment variables.

Signed-off-by: Zoltan Klinger <zoltan.klinger@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git.txt
diff.c
diff.h
git-difftool--helper.sh
t/t4020-diff-external.sh