A command line tool to create diff pdf's from git and mercurial repos. The script will automatically detect if the repo is git or hg. The result is a pdf with the differences between the revisions, diff.pdf.

scm-latexdiff OLD:FILE [NEW:FILE]
OLD: old revision id, local for non-commited NEW: new revision id, local for non-commited FILE: filename of the file you want to diff


# for hg scm-latexdiff 4:spam.tex scm-latexdiff 4:spam.tex 6:spam.tex # for git scm-latexdiff 87213:spam.tex scm-latexdiff 87213:spam.tex 97123:spam.tex # You can also diff against non-commited (local) files scm-latexdiff local:spam.tex scm-latexdiff 2:spam.tex local:spam.tex


The NEW:FILE argument is optional, default NEW is 'HEAD' when using git, and 'tip' when using hg. When referring to a git revision, not the whole sha1 key is needed, you can just provide the first few numbers.


This tool uses distutils for installation. The following command installs the tool on your machine:

python install

To install to a non-standard directory tree (e.g. in your home directory) use --prefix:

python install --prefix=/home/spam/. Do remember to add /home/spam/lib/python2.x/site-packages/ to your PYTHONPATH environment variable.


Copyright © 2012, Paul Hiemstra <>, Ronald van Haren <>. This file is part of scm-latexdiff.

scm-latexdiff is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the Licence, or (at your option) any later version.

scm-latexdiff is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <>.


Paul Hiemstra <> Ronald van Haren <>