#!/bin/sh hg init a cd a echo start > start hg ci -Amstart -d '0 0' echo new > new hg ci -Amnew -d '0 0' echo '% new file' hg diff --git -r 0 hg cp new copy hg ci -mcopy -d '0 0' echo '% copy' hg diff --git -r 1:tip hg mv copy rename hg ci -mrename -d '0 0' echo '% rename' hg diff --git -r 2:tip hg rm rename hg ci -mdelete -d '0 0' echo '% delete' hg diff --git -r 3:tip cat > src <> dst hg ci -mrenamemod -d '0 0' echo '% rename+mod+chmod' hg diff --git -r 6:tip echo '% nonexistent in tip+chmod' hg diff --git -r 5:6 echo '% binary diff' cp $TESTDIR/binfile.bin . hg add binfile.bin hg diff --git > b.diff cat b.diff echo '% import binary diff' hg revert binfile.bin rm binfile.bin hg import -mfoo b.diff cmp binfile.bin $TESTDIR/binfile.bin echo echo '% diff across many revisions' hg mv dst dst2 hg ci -m 'mv dst dst2' -d '0 0' echo >> start hg ci -m 'change start' -d '0 0' hg revert -r -2 start hg mv dst2 dst3 hg ci -m 'mv dst2 dst3; revert start' -d '0 0' hg diff --git -r 9:11 echo a >> foo hg add foo hg ci -m 'add foo' echo b >> foo hg ci -m 'change foo' hg mv foo bar hg ci -m 'mv foo bar' echo c >> bar hg ci -m 'change bar' echo echo '% file created before r1 and renamed before r2' hg diff --git -r -3:-1 echo echo '% file created in r1 and renamed before r2' hg diff --git -r -4:-1 echo echo '% file created after r1 and renamed before r2' hg diff --git -r -5:-1 echo echo '% comparing with the working dir' echo >> start hg ci -m 'change start again' -d '0 0' echo > created hg add created hg ci -m 'add created' hg mv created created2 hg ci -m 'mv created created2' hg mv created2 created3 echo "% there's a copy in the working dir..." hg diff --git echo echo "% ...but there's another copy between the original rev and the wd" hg diff --git -r -2