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

r8168:8766fee6 default
r9725:3f522d2f default
Show More
test-rebase-mq-skip
44 lines | 798 B | text/plain | TextLexer
#!/bin/sh
# This emulates the effects of an hg pull --rebase in which the remote repo
# already has one local mq patch
echo "[extensions]" >> $HGRCPATH
echo "graphlog=" >> $HGRCPATH
echo "rebase=" >> $HGRCPATH
echo "mq=" >> $HGRCPATH
hg init a
cd a
hg qinit -c # This must work even with a managed mq queue
echo 'c1' > c1
hg add c1
hg commit -d '0 0' -m "C1"
echo 'r1' > r1
hg add r1
hg commit -d '1 0' -m "R1"
hg up 0
hg qnew p0.patch
echo 'p0' > p0
hg add p0
hg qref -m 'P0'
hg qnew p1.patch
echo 'p1' > p1
hg add p1
hg qref -m 'P1'
hg export qtip > p1.patch
echo
echo '% "Mainstream" import p1.patch'
hg up -C 1
hg import p1.patch
rm p1.patch
echo
echo '% Rebase'
hg up -C qtip
hg rebase 2>&1 | sed -e 's/\(saving bundle to \).*/\1/'
hg glog --template '{rev} {desc} tags: {tags}\n'