Mercurial > hg
view tests/test-newbranch @ 7177:09ed32b79656
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.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Sun, 19 Oct 2008 16:31:24 +0200 |
parents | 1fe6f365df2e |
children | 816b708f23af |
line wrap: on
line source
#!/bin/sh branchcache=.hg/branch.cache hg init t cd t hg branches echo foo > a hg add a hg ci -m "initial" -d "1000000 0" hg branch foo hg branch hg ci -m "add branch name" -d "1000000 0" hg branch bar hg ci -m "change branch name" -d "1000000 0" echo % branch shadowing hg branch default hg branch -f default hg ci -m "clear branch name" -d "1000000 0" hg co foo hg branch echo bleah > a hg ci -m "modify a branch" -d "1000000 0" hg merge default hg branch hg ci -m "merge" -d "1000000 0" hg log hg branches hg branches -q echo % test for invalid branch cache hg rollback cp $branchcache .hg/bc-invalid hg log -r foo cp .hg/bc-invalid $branchcache hg --debug log -r foo rm $branchcache echo corrupted > $branchcache hg log -qr foo cat $branchcache echo % push should update the branch cache hg init ../target echo % pushing just rev 0 hg push -qr 0 ../target cat ../target/$branchcache echo % pushing everything hg push -qf ../target cat ../target/$branchcache echo % update with no arguments: tipmost revision of the current branch hg up -q -C 0 hg up -q hg id hg up -q 1 hg up -q hg id hg branch foobar hg up echo % fastforward merge hg branch ff echo ff > ff hg ci -Am'fast forward' -d '1000000 0' hg up foo hg merge ff hg branch hg commit -m'Merge ff into foo' -d '1000000 0' hg parents hg manifest echo % test merging, add 3 default heads and one test head cd .. hg init merges cd merges echo a > a hg ci -Ama echo b > b hg ci -Amb hg up 0 echo c > c hg ci -Amc hg up 0 echo d > d hg ci -Amd hg up 0 hg branch test echo e >> e hg ci -Ame hg log echo % implicit merge with test branch as parent hg merge hg up -C default echo % implicit merge with default branch as parent hg merge echo % 3 branch heads, explicit merge required hg merge 2 hg ci -m merge echo % 2 branch heads, implicit merge works hg merge