Mercurial > hg
annotate tests/test-fileset.t @ 23923:ab6fd3205dad stable
largefiles: fix commit of a directory with no largefile changes (issue4330)
When a directory is named in the commit file list, the previous behavior was to
walk the list, and if no normal files in the directory were also named, add the
corresponding standin for each largefile in that directory. The directory is
then dropped from the list, so that committing a directory with no normal file
changes works. It then added the corresponding standin directory for the first
largefile seen, by prefixing it with '.hglf/'.
The latter is unnecessary since each affected largefile is explicitly referenced
by its standin in the list. It also caused an abort if there were no changed
largefiles in the directory, because none of its standins changed:
abort: .hglf/foo/bar: no match under directory!
This list of files is used to tweak a matcher in lfutil.updatestandinsbymatch(),
which is what is passed to commit().
The status() call that is ultimately done in the commit code with this matcher
seems to have some OS specific differences. It is not necessary to append '.'
for Windows to run the largefiles tests cleanly. But if '.' is not added to the
list, the match function isn't called on Linux, so status() would miss any
normal files that were also in a named directory. The commit then proceeds
without those normal files, or says "nothing changed" if there were no changed
largefiles in the directory. This is not filesystem specific, as VFAT on Linux
had the same behavior as when run on ext4. It is also not an issue with
lfilesrepo.status(), since that only calls the overridden implementation when
paths are passed to commit. I dont have access to an OS X machine ATM to test
there.
Maybe there's a better way to do this. But since the standin directory for the
first largefile was previously being added, and that caused the same walk in
status(), there's no preformance change to this. There is no danger of
erroneously committing files in '.', because the original match function is
called, and if it fails, the lfutil.updatestandinsbymatch() tweaked matcher only
indicates a match if the file is in the list of standins- and '.' never is. The
added tests confirm this.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sun, 18 Jan 2015 15:15:40 -0500 |
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 |