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

r6761:cb981fc9 default
r7177:09ed32b7 default
Show More
test-remove.out
100 lines | 2.8 KiB | text/plain | TextLexer
% file not managed
? foo
./foo
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
% 00 state added, options none
not removing bar: file has been marked for add (use -f to force removal)
A bar
./bar
./foo
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
% 01 state clean, options none
R foo
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% 02 state modified, options none
not removing foo: file is modified (use -f to force removal)
M foo
./foo
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% 03 state missing, options none
R foo
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% 10 state added, options -f
? bar
./bar
./foo
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
% 11 state clean, options -f
R foo
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% 12 state modified, options -f
R foo
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% 13 state missing, options -f
R foo
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% 20 state added, options -A
not removing bar: file still exists (use -f to force removal)
A bar
./bar
./foo
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
% 21 state clean, options -A
not removing foo: file still exists (use -f to force removal)
./foo
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
% 22 state modified, options -A
not removing foo: file still exists (use -f to force removal)
M foo
./foo
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% 23 state missing, options -A
R foo
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% 30 state added, options -Af
? bar
./bar
./foo
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
% 31 state clean, options -Af
R foo
./foo
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% 32 state modified, options -Af
R foo
./foo
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% 33 state missing, options -Af
R foo
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
adding test/bar
adding test/foo
% dir, options none
removing test/bar
removing test/foo
R test/bar
R test/foo
./foo
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
% dir, options -f
removing test/bar
removing test/foo
R test/bar
R test/foo
./foo
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
% dir, options -A
not removing test/foo: file still exists (use -f to force removal)
removing test/bar
R test/bar
./foo
./test/foo
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% dir, options -Af
removing test/bar
removing test/foo
R test/bar
R test/foo
./foo
./test/foo
2 files updated, 0 files merged, 0 files removed, 0 files unresolved