##// END OF EJS Templates
mq: Fix --qrefresh --short to work with --exclude and --include...
mq: Fix --qrefresh --short to work with --exclude and --include pmezard expects hg qref -s -X b to apply the -X to the list of files in the patch, and thus remove b from the patch. That's how it worked before f7fc5f5ecd62. That change seemed sensible, but it wasn't... mpm says (17:22:30) pmezard_: kiilerix1: do you mean that -X should be forbidden with -s ? (17:22:54) pmezard_: kiilerix1: and --include too (17:23:03) mpm: No because you should be able to say hg qref -s foo* -X foo-bar so mpm expects hg qref -s -X b * to apply the -X to the list of files in the working directory, and thus don't include b in the patch This patch tries to make both usecases work by creating a matchfn which uses the include/excludes but not the filelist.

File last commit:

r6635:d90d83eb default
r7177:09ed32b7 default
Show More
test-mq-strip
51 lines | 766 B | text/plain | TextLexer
echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH
teststrip() {
hg up -C $1
echo % before update $1, strip $2
hg parents
hg strip $2 2>&1 | sed 's/\(saving bundle to \).*/\1/'
echo % after update $1, strip $2
hg parents
hg unbundle -q .hg/strip-backup/*
rm .hg/strip-backup/*
}
hg init test
cd test
echo foo > bar
hg ci -Ama
echo more >> bar
hg ci -Amb
echo blah >> bar
hg ci -Amc
hg up 1
echo blah >> bar
hg ci -Amd
echo final >> bar
hg ci -Ame
hg log
teststrip 4 4
teststrip 4 3
teststrip 1 4
teststrip 4 2
teststrip 4 1
teststrip null 4
hg log
hg up -C 2
hg merge 4
echo % before strip of merge parent
hg parents
hg strip 4 2>&1 | sed 's/\(saving bundle to \).*/\1/'
echo % after strip of merge parent
hg parents