annotate tests/test-diff-copy-depth.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 bca69641de61
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12150
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
1 $ for i in aaa zzz; do
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
2 > hg init t
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
3 > cd t
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
4 >
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
5 > echo
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
6 > echo "-- With $i"
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
7 >
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
8 > touch file
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
9 > hg add file
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
10 > hg ci -m "Add"
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
11 >
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
12 > hg cp file $i
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
13 > hg ci -m "a -> $i"
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
14 >
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
15 > hg cp $i other-file
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
16 > echo "different" >> $i
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
17 > hg ci -m "$i -> other-file"
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
18 >
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
19 > hg cp other-file somename
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
20 >
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
21 > echo "Status":
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
22 > hg st -C
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
23 > echo
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
24 > echo "Diff:"
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
25 > hg diff -g
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
26 >
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
27 > cd ..
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
28 > rm -rf t
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
29 > done
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
30
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
31 -- With aaa
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
32 Status:
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
33 A somename
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
34 other-file
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
35
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
36 Diff:
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
37 diff --git a/other-file b/somename
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
38 copy from other-file
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
39 copy to somename
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
40
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
41 -- With zzz
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
42 Status:
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
43 A somename
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
44 other-file
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
45
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
46 Diff:
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
47 diff --git a/other-file b/somename
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
48 copy from other-file
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
49 copy to somename
6424
d8f44384c3ee copies: sort old names by depth
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
50
d8f44384c3ee copies: sort old names by depth
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
51