J'essaie de comparer un fichier binaire en utilisant "git difftool". Ce fichier est également mis en scène, mais il semble que ce n'est pas important. Donc, je me sers quelque chose comme ci-dessous:git difftool: comment comparer les fichiers zip
git difftool --staged /path/to/file
et mon .gitconfig est configuré comme ceci:
[difftool "bc3"]
path = C:/Program Files (x86)/Beyond Compare 3/BComp.com
cmd = BComp.com \"$LOCAL\" \"$REMOTE\" -lefttitle="Remote" -righttitle="$BASE" -lro
[diff]
tool = bc3
[difftool]
prompt = false
Alors, quand je lance git difftool
il ouvre cependant au-delà, Comparer comme prévu, je reçois une erreur le fichier binaire de base n'existe pas. La copie locale modifiée est correctement chargée dans l'outil.
Je l'ai remarqué avec * .bcpkg (fichier de paramètres Au-delà de la comparaison, un fichier zip essentiellement) et aussi * .zip réguliers. Mais semble fonctionner correctement pour les fichiers * .exe. Ce que j'ai remarqué, c'est que git difftool
ne devrait pas retourner sauf si Beyond Compare est fermé, parce que s'il retourne le fichier temporaire créé par lui est supprimé. Mais dans le cas d'un fichier zip, il revient toujours immédiatement.
Par ailleurs, diff pour tous les autres types de fichiers fonctionne bien pour moi. Je suis sur Windows 7 (64 bits) et comme vous pouvez le voir ont configuré Beyond Compare 3.
Git ne gère pas bien les différences sur les fichiers binaires, d'après ce que je comprends. C'est la raison pour laquelle beaucoup n'utilisent pas Git pour la version des fichiers binaires. Je ne vois rien d'inattendu dans votre question. –
C'est décevant ... puis-je extraire le fichier "base", et mettre en scène des fichiers en dehors du repo pour les comparer manuellement en utilisant mon outil? –
Si les fichiers "base" sont en texte brut, code source, etc. et non binaires, alors oui cela devrait fonctionner. –