Mercurial > hg
view tests/test-mq-safety @ 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 | dcda0c90125c |
children | 5b7da468531b |
line wrap: on
line source
#!/bin/sh echo '[extensions]' >> $HGRCPATH echo 'hgext.mq =' >> $HGRCPATH hg init repo cd repo echo foo > foo hg ci -qAm 'add a file' hg qinit hg qnew foo echo foo >> foo hg qrefresh -m 'append foo' hg qnew bar echo bar >> foo hg qrefresh -m 'append bar' echo '% try to commit on top of a patch' echo quux >> foo hg ci -m 'append quux' # cheat a bit... mv .hg/patches .hg/patches2 hg ci -m 'append quux' mv .hg/patches2 .hg/patches echo '% qpop/qrefresh on the wrong revision' hg qpop hg qpop -n patches 2>&1 | sed -e 's/\(using patch queue:\).*/\1/' hg qrefresh hg up -C qtip echo '% qpop' hg qpop echo '% qrefresh' hg qrefresh echo '% tip:' hg tip --template '#rev# #desc#\n'