2017-03-20 5 views
0

Sous mon répertoire personnel git, j'ai deux clichés git différents (à partir de deux projets différents) clonés.git difftool fonctionne pour un dépôt, pas pour d'autres

j'ai donc

/home/my_git_home/project1 (pointing to a different server/project) 
/home/my_git_home/project2 (pointing to a different server/project) 

Ma config git est comme ci-dessous:

diff.tool=tkdiff 
user.name=xxxx 
user.email=xxxxx 
difftool.prompt=false 
merge.tool=tkdiff 
core.repositoryformatversion=0 
core.filemode=true 
core.bare=false 
core.logallrefupdates=true 
... 

Maintenant, si je fais un difftool git/home/my_git_home/project1 Je reçois un outil de comparaison approprié (tkdiff) UI.

Cependant, si je fais de/home/my_git_home/projet2, puis-je obtenir la ligne de commande diff étant présentée avec la commande suivante

diff --cc /file/path/filename.java 
index c03cd8b,fa745f1..0000000 
--- a/file/path/filename.java 
+++ b/file/path/filename.java 

Toute idée, ce qui aurait pu foiré mon Projet2?

+1

ça me rendait fou! Hit exactement le même problème! Personnalisé "git difftool" fonctionnait pour un projet, mais crachait juste la sortie "diff" ordinaire sur un autre projet. Le problème était que "git status" indiquait "Votre branche et 'origine/release' ont divergé" ainsi que la liste des "chemins non-fusionnés" .. dès que vous vous en débarrasserez, votre "git difftool" sera de nouveau sur la bonne voie ;) –

Répondre

0

Ok, je vois ce comportement dans Projet2, après l'exécution

git pull origin master 

L'attraction du maître apporté en conflit de fusion que je résolus.

A ce stade, git diff utilisait la commande diff -cc.

J'ai fait un git commit -a et après cela, je peux voir les nouveaux changements voir difftool correctement