Mercurial > hg
annotate tests/test-eol-add.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 | 43b3b761d9d1 |
children |
rev | line source |
---|---|
12421 | 1 Test adding .hgeol |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
2 |
13519
43b3b761d9d1
tests: don't overwrite HGRCPATH
Martin Geisler <mg@aragost.com>
parents:
12943
diff
changeset
|
3 $ cat >> $HGRCPATH <<EOF |
12421 | 4 > [diff] |
5 > git = 1 | |
6 > EOF | |
7 $ seteol () { | |
8 > if [ $1 = "LF" ]; then | |
9 > EOL='\n' | |
10 > else | |
11 > EOL='\r\n' | |
12 > fi | |
13 > } | |
14 $ makerepo () { | |
15 > echo | |
16 > echo "# ==== setup repository ====" | |
17 > echo '% hg init' | |
18 > hg init repo | |
19 > cd repo | |
20 > printf "first\nsecond\nthird\n" > a.txt | |
21 > hg commit -d '100 0' --addremove -m 'LF commit' | |
22 > cd .. | |
23 > } | |
24 $ dotest () { | |
25 > seteol $1 | |
26 > echo | |
27 > echo "% hg clone repo repo-$1" | |
28 > hg clone repo repo-$1 | |
29 > cd repo-$1 | |
30 > cat > .hg/hgrc <<EOF | |
31 > [extensions] | |
32 > eol = | |
33 > [eol] | |
34 > native = LF | |
35 > EOF | |
36 > cat > .hgeol <<EOF | |
37 > [patterns] | |
38 > **.txt = native | |
39 > [repository] | |
40 > native = $1 | |
41 > EOF | |
42 > echo '% hg add .hgeol' | |
43 > hg add .hgeol | |
44 > echo '% hg status' | |
45 > hg status | |
46 > echo '% hg commit' | |
47 > hg commit -d '200 0' -m 'Added .hgeol file' | |
48 > echo '% hg status' | |
49 > hg status | |
50 > echo '% hg tip -p' | |
12943
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12421
diff
changeset
|
51 > hg tip -p |
12421 | 52 > cd .. |
53 > rm -r repo-$1 | |
54 > } | |
55 $ makerepo | |
56 | |
57 # ==== setup repository ==== | |
58 % hg init | |
59 adding a.txt | |
60 $ dotest LF | |
61 | |
62 % hg clone repo repo-LF | |
63 updating to branch default | |
64 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
65 % hg add .hgeol | |
66 % hg status | |
67 A .hgeol | |
68 % hg commit | |
69 % hg status | |
70 % hg tip -p | |
71 changeset: 1:33503edb53b0 | |
72 tag: tip | |
73 user: test | |
74 date: Thu Jan 01 00:03:20 1970 +0000 | |
75 summary: Added .hgeol file | |
76 | |
77 diff --git a/.hgeol b/.hgeol | |
78 new file mode 100644 | |
79 --- /dev/null | |
80 +++ b/.hgeol | |
81 @@ -0,0 +1,4 @@ | |
82 +[patterns] | |
83 +**.txt = native | |
84 +[repository] | |
85 +native = LF | |
86 | |
87 $ dotest CRLF | |
88 | |
89 % hg clone repo repo-CRLF | |
90 updating to branch default | |
91 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
92 % hg add .hgeol | |
93 % hg status | |
94 M a.txt | |
95 A .hgeol | |
96 % hg commit | |
97 % hg status | |
98 % hg tip -p | |
99 changeset: 1:6e64eaa9eb23 | |
100 tag: tip | |
101 user: test | |
102 date: Thu Jan 01 00:03:20 1970 +0000 | |
103 summary: Added .hgeol file | |
104 | |
105 diff --git a/.hgeol b/.hgeol | |
106 new file mode 100644 | |
107 --- /dev/null | |
108 +++ b/.hgeol | |
109 @@ -0,0 +1,4 @@ | |
110 +[patterns] | |
111 +**.txt = native | |
112 +[repository] | |
113 +native = CRLF | |
114 diff --git a/a.txt b/a.txt | |
115 --- a/a.txt | |
116 +++ b/a.txt | |
117 @@ -1,3 +1,3 @@ | |
118 -first | |
119 -second | |
120 -third | |
12943
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12421
diff
changeset
|
121 +first\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12421
diff
changeset
|
122 +second\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12421
diff
changeset
|
123 +third\r (esc) |
12421 | 124 |
125 $ rm -r repo |