git difftool: comment mesurer le progrès, c'est-à-dire le nombre de files diff'ed et diff?

Je sais que je peux utiliser git difftool avec l'option --dir-diff afin de comparer tous les files en une fois.

Mais utiliser difftool avec prompt a son utilisation (pour un nombre de files relativement petit à diff), surtout depuis git 1.7.8, où vous pouvez passer un file .

Cependant, cette invite ne montre pas combien de files sont dans la queue de diff ou combien ont déjà été différenciés.
Comment afficheriez-vous cette information dans l'invite difftool ?

Solutions Collecting From Web of "git difftool: comment mesurer le progrès, c'est-à-dire le nombre de files diff'ed et diff?"

Avec git seul, vous ne pouvez pas (git 1.8.x).
Mais cette fonctionnalité arrive (dans Git 1.9 / 2.0 Q1 2014)

Voir le commit 6904f9a du patch de Zoltan Klinger .

Lorsque l'option --prompt est définie, git-difftool affiche une invite pour chaque file modifié à afficher dans un programme de comparaison externe. À ce stade, il peut être utile d'afficher un countur et le nombre total de files dans la queue de diff.

Voici l'invite difftool actuelle pour le premier des 5 files modifiés:

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

Considérez l'invite modifiée:

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

Le mécanisme GIT_EXTERNAL_DIFF actuel n'indique pas le nombre de paths dans la queue de diff ni le countur actuel.
Pour que cette information " counter/total " soit disponible pour les programmes GIT_EXTERNAL_DIFF sans casser ceux qui existent déjà:

  1. Modifiez la fonction run_external_diff() dans diff.c pour définir une variable d'environnement pour un countur et une pour le nombre total de files dans la queue de diff.
    La taille de la queue diff est déjà disponible dans diff_queue_struct .
    Pour le countur, définissez une nouvelle variable dans la structure diff_options et remettez-la à zéro dans la fonction diff_setup_done() .
    Pré-incrémenter le countur dans la fonction run_external_diff() .
  2. Modifiez le script git-difftool--helper.sh pour afficher le countur et les valeurs du nombre de files d'attente diff dans l'invite difftool .

Cela entraîne:

 git-difftool--helper.sh @@ launch_merge_tool () { # the user with the real $MERGED name before launching $merge_tool. if should_prompt then printf "\nViewing (%s/%s): '%s'\n" "$GIT_DIFF_PATH_COUNTER" \ "$GIT_DIFF_PATH_TOTAL" "$MERGED" if use_ext_cmd then printf "Launch '%s' [Y/n]: " \