##// 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:

r5710:026eb800 default
r9725:3f522d2f default
Show More
test-merge-types
39 lines | 643 B | text/plain | TextLexer
#!/bin/sh
hg init
echo a > a
hg ci -Amadd # 0
chmod +x a
hg ci -mexecutable # 1
hg up 0
rm a
ln -s symlink a
hg ci -msymlink # 2
hg merge --debug
echo % symlink is local parent, executable is other
if [ -h a ]; then
echo a is a symlink
$TESTDIR/readlink.py a
elif [ -x a ]; then
echo a is executable
else
echo "a has no flags (default for conflicts)"
fi
hg update -C 1
hg merge --debug
echo % symlink is other parent, executable is local
if [ -h a ]; then
echo a is a symlink
$TESTDIR/readlink.py a
elif [ -x a ]; then
echo a is executable
else
echo "a has no flags (default for conflicts)"
fi