Mercurial > hg
annotate tests/test-children.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 | f2719b387380 |
children | 3eb9045396b0 |
rev | line source |
---|---|
11920
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
1 test children command |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
3 $ cat <<EOF >> $HGRCPATH |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
4 > [extensions] |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
5 > children = |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
6 > EOF |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
7 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
8 init |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
9 $ hg init t |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
10 $ cd t |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
11 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
12 no working directory |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
13 $ hg children |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
14 |
11920
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
15 setup |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
16 $ echo 0 > file0 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
17 $ hg ci -qAm 0 -d '0 0' |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
18 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
19 $ echo 1 > file1 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
20 $ hg ci -qAm 1 -d '1 0' |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
21 |
11920
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
22 $ echo 2 >> file0 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
23 $ hg ci -qAm 2 -d '2 0' |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
24 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
25 $ hg co null |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
26 0 files updated, 0 files merged, 2 files removed, 0 files unresolved |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
27 $ echo 3 > file3 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
28 $ hg ci -qAm 3 -d '3 0' |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
29 |
11920
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
30 hg children at revision 3 (tip) |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
31 $ hg children |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
32 |
11920
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
33 $ hg co null |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
34 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
35 |
11920
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
36 hg children at nullrev (should be 0 and 3) |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
37 $ hg children |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
38 changeset: 0:4df8521a7374 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
39 user: test |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
40 date: Thu Jan 01 00:00:00 1970 +0000 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
41 summary: 0 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
42 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
43 changeset: 3:e2962852269d |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
44 tag: tip |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
45 parent: -1:000000000000 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
46 user: test |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
47 date: Thu Jan 01 00:00:03 1970 +0000 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
48 summary: 3 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
49 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
50 $ hg co 1 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
51 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
52 |
11920
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
53 hg children at revision 1 (should be 2) |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
54 $ hg children |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
55 changeset: 2:8f5eea5023c2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
56 user: test |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
57 date: Thu Jan 01 00:00:02 1970 +0000 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
58 summary: 2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
59 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
60 $ hg co 2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
61 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
62 |
11920
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
63 hg children at revision 2 (other head) |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
64 $ hg children |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
65 |
11920
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
66 $ for i in null 0 1 2 3; do |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
67 > echo "hg children -r $i" |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
68 > hg children -r $i |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
69 > done |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
70 hg children -r null |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
71 changeset: 0:4df8521a7374 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
72 user: test |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
73 date: Thu Jan 01 00:00:00 1970 +0000 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
74 summary: 0 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
75 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
76 changeset: 3:e2962852269d |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
77 tag: tip |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
78 parent: -1:000000000000 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
79 user: test |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
80 date: Thu Jan 01 00:00:03 1970 +0000 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
81 summary: 3 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
82 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
83 hg children -r 0 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
84 changeset: 1:708c093edef0 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
85 user: test |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
86 date: Thu Jan 01 00:00:01 1970 +0000 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
87 summary: 1 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
88 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
89 hg children -r 1 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
90 changeset: 2:8f5eea5023c2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
91 user: test |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
92 date: Thu Jan 01 00:00:02 1970 +0000 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
93 summary: 2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
94 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
95 hg children -r 2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
96 hg children -r 3 |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
97 |
11920
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
98 hg children -r 0 file0 (should be 2) |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
99 $ hg children -r 0 file0 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
100 changeset: 2:8f5eea5023c2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
101 user: test |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
102 date: Thu Jan 01 00:00:02 1970 +0000 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
103 summary: 2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
104 |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
105 |
11920
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
106 hg children -r 1 file0 (should be 2) |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
107 $ hg children -r 1 file0 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
108 changeset: 2:8f5eea5023c2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
109 user: test |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
110 date: Thu Jan 01 00:00:02 1970 +0000 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
111 summary: 2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
112 |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
113 |
11920
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
114 $ hg co 0 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
115 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
116 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
117 hg children file0 at revision 0 (should be 2) |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
118 $ hg children file0 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
119 changeset: 2:8f5eea5023c2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
120 user: test |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
121 date: Thu Jan 01 00:00:02 1970 +0000 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
122 summary: 2 |
d0a7e700b5d1
tests: unify test-children
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
10119
diff
changeset
|
123 |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
11920
diff
changeset
|
124 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
11920
diff
changeset
|
125 $ cd .. |