How can I add a different Git diff tool for PDF?
I currently use
meld as a Git diff tool. This works great, but I also have some PDF files under version control. Always when I make
git diff I get ugly messages that inform me, that meld can’t compare those binary files.
Today, I’ve found
diffpdf which works great. But how can I configure git to use diffpdf for PDF (and only for them)?
I’ve configured git to use meld like this:
Create a script called
#!/bin/bash meld "$2" "$5"
Make it executable:
chmod +x git-meld
- Add it to my config file:
git config --global diff.external git-meld
But obviously I can’t simply adapt this way to use both, diffpdf and meld.
2 Solutions collect form web for “How can I add a different Git diff tool for PDF?”
You need to look at the
gitattributes manual page. Basically, you create an external diff driver that specifies a custom command to use for comparing a specific type of file (this goes in
[diff "pdfdiff"] command = diffpdf
Then you specify that certain types of files use that diff driver (in
Then everything except pdf files will use your normal
git diff defaults, but pdf files will call
diffpdf when you
git diff them…
You can use
git difftool (man git difftool).
$ git difftool #opens in the tool defined in config: git config --get diff.tool $ git difftool --tool meld # Opens in meld, regardless of what you configured. $ git difftool --tool diffpdf # Opens in diffpdf.