Differences between revisions 6 and 7
Revision 6 as of 2005-12-28 06:22:58
Size: 1642
Editor: NathanLynch
Comment: Add section on producing a diffstat after pulling
Revision 7 as of 2005-12-28 07:11:01
Size: 1690
Editor: NathanLynch
Comment: correction for diffstat script
Deletions are marked like this. Additions are marked like this.
Line 37: Line 37:
echo "diffstat for $PARENT to $NODE" TIP=`hg tip | head -1 | awk -F':' '{print $3}'`
echo "diffstat for $PARENT to $TIP"

Make a clean copy of a source tree, like CVS export

hg clone source export
rm -rf export/.hg

The same thing, but for a tagged release

hg clone --noupdate source export-tagged
cd export-tagged
hg update mytag
rm -rf .hg

See diffs when editing commit message with VIM

Make a private copy of the 'hgeditor' script provided with mercurial and replace the call to the editor with following command:

vim "+e $HGTMP/diff" '+set buftype=help filetype=diff' "+vsplit $HGTMP/msg" || exit $?

This will start up VIM in vertical split mode with commit message in the left pane and diff in the right pane. The buftype=help setting for diff window tells vim to exit when all other windows are closed, so when you write and quit the log with :x (:wq - they are equivalent), vim exits. If you have syntax highlight set up, the diff will be properly highlighted.

This setting is suitable for wide terminals. If you have a narrow terminal, you may want to replace the +vsplit above with +split or add nowrap to the +set.

See diffstat of pulled changes

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

test -n "$NODE" || exit 0
PARENT=`hg parents $NODE | head -1 | awk -F':' '{print $3}'`
TIP=`hg tip | head -1 | awk -F':' '{print $3}'`
echo "diffstat for $PARENT to $TIP"
hg diff -r $PARENT -r tip | diffstat

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 repo every time you do "hg pull".

TipsAndTricks (last edited 2016-12-05 11:14:36 by ArneBab)