Pourquoi ne pas git diff` invoquer externe outil de comparaison?

Dans mon référentiel, si je tape

$ git diff some-file

ou

$ git difftool some-file

- Je obtenir le terminal diff affichage. Je pense que cela ne devrait pas arriver, parce que j'ai mis en externe, les diff outil, comme illustré par la sortie de git config -l:

$ git config -l
user.name=blah blah
user.email=blah blah
http.sslverify=true
diff.external=/home/daniel/bin/git-diff  <--This is the important line
push.default=simple
core.filemode=false
core.editor=gedit
alias.tree=log --all --graph --decorate=short --color --format=format:'%C(bold blue)%h%C(reset) %C(auto)%d%C(reset)
         %C(black)[%cr]%C(reset)  %x09%C(black)%an: %s %C(reset)'
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
remote.origin.url=https://daniel@skynet/git/pyle.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
branch.daniel.remote=origin
branch.daniel.merge=refs/heads/daniel

Git-diff fichier référencé dans la diff.external ligne ressemble à ceci

#!/bin/bash

meld $2 $5

Pourquoi ne pas git diff invoquer fondre?

- Je obtenir le même comportement si j'ai mis des choses en place pour que git config -l a la ligne suivante:

diff.tool = meld

ou

diff.external = usr/bin/meld

Note: Autres référentiels sur ma machine n'ont pas ce problème.

Liés, mais ne sont pas équivalentes, de SORTE que des questions:

  1. Quelle est la différence entre git diff et git difftool?
  2. Ne peut pas faire de git diff utiliser la commande diff.externe externe outil de comparaison
  • Pourquoi êtes-vous à l'aide de la deuxième et de la cinquième arguments?
  • Ma compréhension est que git diff passe sept arguments vers l'outil de comparaison et qui se fondent seulement besoin de deux d'entre eux.
InformationsquelleAutor DanielSank | 2014-07-26