Mercurial > hg
annotate tests/test-fileset.t @ 23603:d74eb8d477d5
memctx: calculate manifest more efficiently
Before this patch, "memctx._manifest" updates all entries in the
(parent) manifest. But this is inefficiency, because almost all files
may be clean in that context.
On the other hand, just updating entries for changed "files" specified
at construction causes unexpected abortion, when there is at least one
newly removed file (see issue4470 for detail).
To calculate manifest more efficiently, this patch replaces
"pman.iteritems()" for the loop by "self._status.modified" to avoid
updating entries for clean or removed files
Examination of removal is also omitted, because removed files aren't
treated in this loop (= "self[f]" returns not None always).
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Fri, 19 Dec 2014 00:11:56 +0900 |
parents | b081decd9062 |
children | caa6b6c65dc3 |
rev | line source |
---|---|
17362
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
1 $ fileset() { |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
2 > hg debugfileset "$@" |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
3 > } |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
4 |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
5 $ hg init repo |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
6 $ cd repo |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
7 $ echo a > a1 |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
8 $ echo a > a2 |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
9 $ echo b > b1 |
17364
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
10 $ echo b > b2 |
17362
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
11 $ hg ci -Am addfiles |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
12 adding a1 |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
13 adding a2 |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
14 adding b1 |
17364
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
15 adding b2 |
17362
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
16 |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
17 Test operators and basic patterns |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
18 |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
19 $ fileset a1 |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
20 a1 |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
21 $ fileset 'a*' |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
22 a1 |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
23 a2 |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
24 $ fileset '"re:a\d"' |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
25 a1 |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
26 a2 |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
27 $ fileset 'a1 or a2' |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
28 a1 |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
29 a2 |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
30 $ fileset 'a1 | a2' |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
31 a1 |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
32 a2 |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
33 $ fileset 'a* and "*1"' |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
34 a1 |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
35 $ fileset 'a* & "*1"' |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
36 a1 |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
37 $ fileset 'not (r"a*")' |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
38 b1 |
17364
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
39 b2 |
17362
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
40 $ fileset '! ("a*")' |
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
41 b1 |
17364
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
42 b2 |
17363
5d9e2031c0b1
fileset: actually implement 'minusset'
Patrick Mezard <patrick@mezard.eu>
parents:
17362
diff
changeset
|
43 $ fileset 'a* - a1' |
5d9e2031c0b1
fileset: actually implement 'minusset'
Patrick Mezard <patrick@mezard.eu>
parents:
17362
diff
changeset
|
44 a2 |
19470
19ac0d8ee9a2
fileset: handle underbar in symbols
Matt Mackall <mpm@selenic.com>
parents:
18842
diff
changeset
|
45 $ fileset 'a_b' |
17362
bd867a9ca510
tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff
changeset
|
46 |
17364
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
47 Test files status |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
48 |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
49 $ rm a1 |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
50 $ hg rm a2 |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
51 $ echo b >> b2 |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
52 $ hg cp b1 c1 |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
53 $ echo c > c2 |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
54 $ echo c > c3 |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
55 $ cat > .hgignore <<EOF |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
56 > \.hgignore |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
57 > 2$ |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
58 > EOF |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
59 $ fileset 'modified()' |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
60 b2 |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
61 $ fileset 'added()' |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
62 c1 |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
63 $ fileset 'removed()' |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
64 a2 |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
65 $ fileset 'deleted()' |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
66 a1 |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
67 $ fileset 'unknown()' |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
68 c3 |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
69 $ fileset 'ignored()' |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
70 .hgignore |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
71 c2 |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
72 $ fileset 'hgignore()' |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
73 a2 |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
74 b2 |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
75 $ fileset 'clean()' |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
76 b1 |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
77 $ fileset 'copied()' |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
78 c1 |
0c41fb2d972a
test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17363
diff
changeset
|
79 |
17365
8a0513bf030a
fileset: exclude deleted files from matchctx.existing()
Patrick Mezard <patrick@mezard.eu>
parents:
17364
diff
changeset
|
80 Test files properties |
8a0513bf030a
fileset: exclude deleted files from matchctx.existing()
Patrick Mezard <patrick@mezard.eu>
parents:
17364
diff
changeset
|
81 |
8a0513bf030a
fileset: exclude deleted files from matchctx.existing()
Patrick Mezard <patrick@mezard.eu>
parents:
17364
diff
changeset
|
82 >>> file('bin', 'wb').write('\0a') |
8a0513bf030a
fileset: exclude deleted files from matchctx.existing()
Patrick Mezard <patrick@mezard.eu>
parents:
17364
diff
changeset
|
83 $ fileset 'binary()' |
17366
04c65cb59467
fileset: matchctx.existing() must consider unknown files
Patrick Mezard <patrick@mezard.eu>
parents:
17365
diff
changeset
|
84 $ fileset 'binary() and unknown()' |
04c65cb59467
fileset: matchctx.existing() must consider unknown files
Patrick Mezard <patrick@mezard.eu>
parents:
17365
diff
changeset
|
85 bin |
17367
ce625185cfd9
fileset: matchctx.existing() must consider ignored files
Patrick Mezard <patrick@mezard.eu>
parents:
17366
diff
changeset
|
86 $ echo '^bin$' >> .hgignore |
ce625185cfd9
fileset: matchctx.existing() must consider ignored files
Patrick Mezard <patrick@mezard.eu>
parents:
17366
diff
changeset
|
87 $ fileset 'binary() and ignored()' |
ce625185cfd9
fileset: matchctx.existing() must consider ignored files
Patrick Mezard <patrick@mezard.eu>
parents:
17366
diff
changeset
|
88 bin |
17366
04c65cb59467
fileset: matchctx.existing() must consider unknown files
Patrick Mezard <patrick@mezard.eu>
parents:
17365
diff
changeset
|
89 $ hg add bin |
04c65cb59467
fileset: matchctx.existing() must consider unknown files
Patrick Mezard <patrick@mezard.eu>
parents:
17365
diff
changeset
|
90 $ fileset 'binary()' |
04c65cb59467
fileset: matchctx.existing() must consider unknown files
Patrick Mezard <patrick@mezard.eu>
parents:
17365
diff
changeset
|
91 bin |
17365
8a0513bf030a
fileset: exclude deleted files from matchctx.existing()
Patrick Mezard <patrick@mezard.eu>
parents:
17364
diff
changeset
|
92 |
17368
01cc267fc105
fileset: do not traceback on invalid grep pattern
Patrick Mezard <patrick@mezard.eu>
parents:
17367
diff
changeset
|
93 $ fileset 'grep("b{1}")' |
01cc267fc105
fileset: do not traceback on invalid grep pattern
Patrick Mezard <patrick@mezard.eu>
parents:
17367
diff
changeset
|
94 b2 |
01cc267fc105
fileset: do not traceback on invalid grep pattern
Patrick Mezard <patrick@mezard.eu>
parents:
17367
diff
changeset
|
95 c1 |
01cc267fc105
fileset: do not traceback on invalid grep pattern
Patrick Mezard <patrick@mezard.eu>
parents:
17367
diff
changeset
|
96 b1 |
01cc267fc105
fileset: do not traceback on invalid grep pattern
Patrick Mezard <patrick@mezard.eu>
parents:
17367
diff
changeset
|
97 $ fileset 'grep("missingparens(")' |
01cc267fc105
fileset: do not traceback on invalid grep pattern
Patrick Mezard <patrick@mezard.eu>
parents:
17367
diff
changeset
|
98 hg: parse error: invalid match pattern: unbalanced parenthesis |
01cc267fc105
fileset: do not traceback on invalid grep pattern
Patrick Mezard <patrick@mezard.eu>
parents:
17367
diff
changeset
|
99 [255] |
01cc267fc105
fileset: do not traceback on invalid grep pattern
Patrick Mezard <patrick@mezard.eu>
parents:
17367
diff
changeset
|
100 |
17369
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
101 #if execbit |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
102 $ chmod +x b2 |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
103 $ fileset 'exec()' |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
104 b2 |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
105 #endif |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
106 |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
107 #if symlink |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
108 $ ln -s b2 b2link |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
109 $ fileset 'symlink() and unknown()' |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
110 b2link |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
111 $ hg add b2link |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
112 #endif |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
113 |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
114 >>> file('1k', 'wb').write(' '*1024) |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
115 >>> file('2k', 'wb').write(' '*2048) |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
116 $ hg add 1k 2k |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
117 $ fileset 'size("bar")' |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
118 hg: parse error: couldn't parse size: bar |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
119 [255] |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
120 $ fileset 'size(1k)' |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
121 1k |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
122 $ fileset '(1k or 2k) and size("< 2k")' |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
123 1k |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
124 $ fileset '(1k or 2k) and size("<=2k")' |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
125 1k |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
126 2k |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
127 $ fileset '(1k or 2k) and size("> 1k")' |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
128 2k |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
129 $ fileset '(1k or 2k) and size(">=1K")' |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
130 1k |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
131 2k |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
132 $ fileset '(1k or 2k) and size(".5KB - 1.5kB")' |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
133 1k |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
134 |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
135 Test merge states |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
136 |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
137 $ hg ci -m manychanges |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
138 $ hg up -C 0 |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
139 * files updated, 0 files merged, * files removed, 0 files unresolved (glob) |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
140 $ echo c >> b2 |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
141 $ hg ci -m diverging b2 |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
142 created new head |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
143 $ fileset 'resolved()' |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
144 $ fileset 'unresolved()' |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
145 $ hg merge |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
146 merging b2 |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
147 warning: conflicts during merge. |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
148 merging b2 incomplete! (edit conflicts, then use 'hg resolve --mark') |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
149 * files updated, 0 files merged, * files removed, 1 files unresolved (glob) |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
150 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
151 [1] |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
152 $ fileset 'resolved()' |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
153 $ fileset 'unresolved()' |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
154 b2 |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
155 $ echo e > b2 |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
156 $ hg resolve -m b2 |
21947
b081decd9062
resolve: add parenthesis around "no more unresolved files" message
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21267
diff
changeset
|
157 (no more unresolved files) |
17369
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
158 $ fileset 'resolved()' |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
159 b2 |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
160 $ fileset 'unresolved()' |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
161 $ hg ci -m merge |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
162 |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
163 Test subrepo predicate |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
164 |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
165 $ hg init sub |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
166 $ echo a > sub/suba |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
167 $ hg -R sub add sub/suba |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
168 $ hg -R sub ci -m sub |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
169 $ echo 'sub = sub' > .hgsub |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
170 $ fileset 'subrepo()' |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
171 $ hg add .hgsub |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
172 $ fileset 'subrepo()' |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
173 sub |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
174 $ fileset 'subrepo("sub")' |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
175 sub |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
176 $ fileset 'subrepo("glob:*")' |
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
177 sub |
17370
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
178 $ hg ci -m subrepo |
17369
b360011a132d
test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents:
17368
diff
changeset
|
179 |
17370
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
180 Test with a revision |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
181 |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
182 $ hg log -G --template '{rev} {desc}\n' |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
183 @ 4 subrepo |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
184 | |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
185 o 3 merge |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
186 |\ |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
187 | o 2 diverging |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
188 | | |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
189 o | 1 manychanges |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
190 |/ |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
191 o 0 addfiles |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
192 |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
193 $ echo unknown > unknown |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
194 $ fileset -r1 'modified()' |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
195 b2 |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
196 $ fileset -r1 'added() and c1' |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
197 c1 |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
198 $ fileset -r1 'removed()' |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
199 a2 |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
200 $ fileset -r1 'deleted()' |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
201 $ fileset -r1 'unknown()' |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
202 $ fileset -r1 'ignored()' |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
203 $ fileset -r1 'hgignore()' |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
204 b2 |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
205 bin |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
206 $ fileset -r1 'binary()' |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
207 bin |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
208 $ fileset -r1 'size(1k)' |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
209 1k |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
210 $ fileset -r3 'resolved()' |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
211 $ fileset -r3 'unresolved()' |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
212 |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
213 #if execbit |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
214 $ fileset -r1 'exec()' |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
215 b2 |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
216 #endif |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
217 |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
218 #if symlink |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
219 $ fileset -r1 'symlink()' |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
220 b2link |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
221 #endif |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
222 |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
223 $ fileset -r4 'subrepo("re:su.*")' |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
224 sub |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
225 $ fileset -r4 'subrepo("sub")' |
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
226 sub |
17371
1310489eb5d6
fileset: fix generator vs list bug in fast path
Patrick Mezard <patrick@mezard.eu>
parents:
17370
diff
changeset
|
227 $ fileset -r4 'b2 or c1' |
1310489eb5d6
fileset: fix generator vs list bug in fast path
Patrick Mezard <patrick@mezard.eu>
parents:
17370
diff
changeset
|
228 b2 |
1310489eb5d6
fileset: fix generator vs list bug in fast path
Patrick Mezard <patrick@mezard.eu>
parents:
17370
diff
changeset
|
229 c1 |
17370
3fe199579323
debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents:
17369
diff
changeset
|
230 |
18842
3ce3f2b059a1
filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents:
17371
diff
changeset
|
231 >>> open('dos', 'wb').write("dos\r\n") |
3ce3f2b059a1
filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents:
17371
diff
changeset
|
232 >>> open('mixed', 'wb').write("dos\r\nunix\n") |
3ce3f2b059a1
filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents:
17371
diff
changeset
|
233 >>> open('mac', 'wb').write("mac\r") |
3ce3f2b059a1
filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents:
17371
diff
changeset
|
234 $ hg add dos mixed mac |
3ce3f2b059a1
filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents:
17371
diff
changeset
|
235 |
3ce3f2b059a1
filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents:
17371
diff
changeset
|
236 $ fileset 'eol(dos)' |
3ce3f2b059a1
filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents:
17371
diff
changeset
|
237 dos |
3ce3f2b059a1
filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents:
17371
diff
changeset
|
238 mixed |
3ce3f2b059a1
filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents:
17371
diff
changeset
|
239 $ fileset 'eol(unix)' |
3ce3f2b059a1
filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents:
17371
diff
changeset
|
240 .hgsub |
3ce3f2b059a1
filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents:
17371
diff
changeset
|
241 .hgsubstate |
3ce3f2b059a1
filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents:
17371
diff
changeset
|
242 a1 |
3ce3f2b059a1
filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents:
17371
diff
changeset
|
243 b1 |
3ce3f2b059a1
filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents:
17371
diff
changeset
|
244 b2 |
3ce3f2b059a1
filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents:
17371
diff
changeset
|
245 c1 |
3ce3f2b059a1
filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents:
17371
diff
changeset
|
246 mixed |
3ce3f2b059a1
filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents:
17371
diff
changeset
|
247 $ fileset 'eol(mac)' |
3ce3f2b059a1
filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents:
17371
diff
changeset
|
248 mac |