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".

If your having problems with the above (not showing all changes or showing changes from working directory) you could try:

[hooks]
changegroup=hg log -r $HG_NODE:tip --stat --template '{empty}'

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