2016-02-24 1 views
1

Je souhaite utiliser un algorithme diff différent pour l'extension de fichier spécial, par ex. ".java" et l'algorithme standart diff pour les autres fichiers.Algorithme diff différent pour l'extension de fichier spécial pour Git

Je peux le faire via .gitattributes fichier:

*.java diff=javadiffprogramm 

et fichier .gitconfig:

[diff "javadiffprogramm"] 
    command = pathToDiffProgram. 

Ma question est quel est le format des paramètres d'entrée de « javadiffprogramm "et où il devrait sortir le résultat de diff? Le résultat de diff a le format "@@ -1,7 +1,6 @@ ...".

Quelques questions sur ce sujet:

Répondre

0

Ceci est documenté dans the git man page comme GIT_EXTERNAL_DIFF.

GIT_EXTERNAL_DIFF

Quand est défini l'environnement GIT_EXTERNAL_DIFF variable, le programme nommé par celui-ci est appelé, au lieu de l'invocation de diff décrit ci-dessus. Pour un chemin qui est ajouté, supprimé ou modifié, GIT_EXTERNAL_DIFF est appelée avec 7 paramètres:

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

Les documents vont à expliquer ce que ces paramètres sont.

La sortie doit être STDOUT.

+0

Merci beaucoup! J'ai trouvé environ 7 paramètres d'entrée, mais rien sur la sortie. Peut-être que je n'étais pas attentif. – NAlmaz

+0

@NAlmaz Je n'ai pas non plus trouvé d'informations sur la sortie. C'est une supposition éclairée basée sur comment les outils Unix fonctionnent généralement. Si Git veut que la sortie soit écrite ailleurs, il peut la rediriger elle-même. – Schwern