See diffstat of pulled changes

Mercurial version 1.4

Mercurial 1.4 includes a "hg diff --stat" option; to get a pull diffstat, add the following lines to your .hgrc:

[hooks]
changegroup=hg diff --stat -r $HG_NODE -r tip

Now you will see a diffstat of the new changes to your repository every time you do "hg pull".

Mercurial versions 1.3.1 and earlier

Place the following script (named "pull-diffstat" here) somewhere in your $PATH:

test -n "$HG_NODE" || exit 0
TIP=`hg tip --template '{node|short}'`
REV=`hg log -r $HG_NODE --template '{rev}'`
test -n "$REV" -a $REV -ne 0 || exit 0
PREV=`expr $REV - 1`
PARENT=`hg log -r $PREV --template '{node|short}'`
echo "diffstat for $PARENT to $TIP" 1>&2
hg diff -r $PARENT -r tip | diffstat 1>&2

Add a changegroup entry to the [hooks] section of .hgrc:

[hooks]
changegroup = pull-diffstat

Now you will see a diffstat of the new changes to your repository every time you do "hg pull".

Note: When pushing to a repository that has enabled this script, the script will cause a ValueError exception. The push will however continue and there seem to be no negative effects.


CategoryTipsAndTricks