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

r9711:d29bd00b default
r9725:3f522d2f default
Show More
test-diff-color
64 lines | 724 B | text/plain | TextLexer
#!/bin/sh
echo "[extensions]" >> $HGRCPATH
echo "color=" >> $HGRCPATH
hg init repo
cd repo
cat > a <<EOF
c
c
a
a
b
a
a
c
c
EOF
hg ci -Am adda
cat > a <<EOF
c
c
a
a
dd
a
a
c
c
EOF
echo '% default context'
hg diff --nodates --color=always
echo '% --unified=2'
hg diff --nodates -U 2 --color=always
echo '% diffstat'
hg diff --stat --color=always
echo "record=" >> $HGRCPATH
echo "[ui]" >> $HGRCPATH
echo "interactive=true" >> $HGRCPATH
echo "[diff]" >> $HGRCPATH
echo "git=True" >> $HGRCPATH
echo % record
chmod 0755 a
hg record --color=always -m moda a <<EOF
y
y
EOF
echo
echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH
hg rollback
echo % qrecord
hg qrecord --color=always -m moda patch <<EOF
y
y
EOF
echo