##// END OF EJS Templates
diff: add --inverse option...
diff: add --inverse option Most of the time, one can reverse a diff by swapping the revisions passed with -r but it happens that if you use the global -R, and diff against the tip of the current repo, you can't swap the revisions. One use-case for that is reviewing changes from a bundle before unbundling. One could also pipe the output of `hg diff` to a command line filter that reverses the diff, but that would remove the benefit from color diffs. Therefore, having an option in `hg diff` to reverse a diff is a good thing. The option flag selection was tricky. GNU patch uses -R/--reverse but -R is already used as a global option and --reverse would make --rev ambiguous.

File last commit:

r9586:d08099e7 default
r9725:3f522d2f default
Show More
test-mq-symlinks
57 lines | 832 B | text/plain | TextLexer
#!/bin/sh
"$TESTDIR/hghave" symlink || exit 80
echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH
hg init
hg qinit
hg qnew base.patch
echo aaa > a
echo bbb > b
echo ccc > c
hg add a b c
hg qrefresh
$TESTDIR/readlink.py a
echo '% test replacing a file with a symlink'
hg qnew symlink.patch
rm a
ln -s b a
hg qrefresh --git
$TESTDIR/readlink.py a
hg qpop
hg qpush
$TESTDIR/readlink.py a
echo '% test updating a symlink'
rm a
ln -s c a
hg qnew --git -f updatelink
$TESTDIR/readlink.py a
hg qpop
hg qpush --debug
$TESTDIR/readlink.py a
hg st
echo '% test replacing a symlink with a file'
ln -s c s
hg add s
hg qnew --git -f addlink
rm s
echo sss > s
hg qnew --git -f replacelinkwithfile
hg qpop
hg qpush
cat s
hg st
echo '% test symlink removal'
hg qnew removesl.patch
hg rm a
hg qrefresh --git
hg qpop
hg qpush
hg st -c