annotate tests/test-encoding.t @ 24787:9d5c27890790

largefiles: for update -C, only update largefiles when necessary Before, a --clean update with largefiles would use the "optimization" that it didn't read hashes from standin files before and after the update. Instead of trusting the content of the standin files, it would rehash all the actual largefiles that lfdirstate reported clean and update the standins that didn't have the expected content. It could thus in some "impossible" situations automatically recover from some "largefile got out sync with its standin" issues (even there apparently still were weird corner cases where it could fail). This extra checking is similar to what core --clean intentionally do not do, and it made update --clean unbearable slow. Usually in core Mercurial, --clean will rely on the dirstate to find the files it should update. (It is thus intentionally possible (when trying to trick the system or if there should be bugs) to end up in situations where --clean not will restore the working directory content correctly.) Checking every file when we "know" it is ok is however not an option - that would be too slow. Instead, trust the content of the standin files. Use the same logic for --clean as for linear updates and trust the dirstate and that our "logic" will keep them in sync. It is much cheaper to just rehash the largefiles reported dirty by a status walk and read all standins than to hash largefiles. Most of the changes are just a change of indentation now when the different kinds of updates no longer are handled that differently. Standins for added files are however only written when doing a normal update, while deleted and removed files only will be updated for --clean updates.
author Mads Kiilerich <madski@unity3d.com>
date Wed, 15 Apr 2015 15:22:16 -0400
parents bfc50ff55f3f
children 51fa43a3cd58
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
1 Test character encoding
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
2
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
3 $ hg init t
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
4 $ cd t
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
5
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
6 we need a repo with some legacy latin-1 changesets
3777
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
7
16350
4f795f5fbb0b tests: make tests work if directory contains special characters
Thomas Arendsen Hein <thomas@intevation.de>
parents: 15769
diff changeset
8 $ hg unbundle "$TESTDIR/bundles/legacy-encoding.hg"
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
9 adding changesets
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
10 adding manifests
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
11 adding file changes
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
12 added 2 changesets with 2 changes to 1 files
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
13 (run 'hg update' to get a working copy)
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
14 $ hg co
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
15 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
16 $ python << EOF
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
17 > f = file('latin-1', 'w'); f.write("latin-1 e' encoded: \xe9"); f.close()
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
18 > f = file('utf-8', 'w'); f.write("utf-8 e' encoded: \xc3\xa9"); f.close()
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
19 > f = file('latin-1-tag', 'w'); f.write("\xe9"); f.close()
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
20 > EOF
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
21
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
22 should fail with encoding error
3777
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
23
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
24 $ echo "plain old ascii" > a
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
25 $ hg st
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
26 M a
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
27 ? latin-1
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
28 ? latin-1-tag
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
29 ? utf-8
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
30 $ HGENCODING=ascii hg ci -l latin-1
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
31 transaction abort!
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
32 rollback completed
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
33 abort: decoding near ' encoded: \xe9': 'ascii' codec can't decode byte 0xe9 in position 20: ordinal not in range(128)! (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
34 [255]
3777
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
35
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
36 these should work
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
37
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
38 $ echo "latin-1" > a
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
39 $ HGENCODING=latin-1 hg ci -l latin-1
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
40 $ echo "utf-8" > a
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
41 $ HGENCODING=utf-8 hg ci -l utf-8
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
42 $ HGENCODING=latin-1 hg tag `cat latin-1-tag`
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
43 $ HGENCODING=latin-1 hg branch `cat latin-1-tag`
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
44 marked working directory as branch \xe9 (esc)
15615
41885892796e branch: warn on branching
Matt Mackall <mpm@selenic.com>
parents: 14162
diff changeset
45 (branches are permanent and global, did you want a bookmark?)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
46 $ HGENCODING=latin-1 hg ci -m 'latin1 branch'
17360
935831597e16 rollback: write dirstate branch with correct encoding
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
47 $ hg -q rollback
935831597e16 rollback: write dirstate branch with correct encoding
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
48 $ HGENCODING=latin-1 hg branch
935831597e16 rollback: write dirstate branch with correct encoding
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
49 \xe9 (esc)
935831597e16 rollback: write dirstate branch with correct encoding
Sune Foldager <cryo@cyanite.org>
parents: 16913
diff changeset
50 $ HGENCODING=latin-1 hg ci -m 'latin1 branch'
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
51 $ rm .hg/branch
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
52
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
53 hg log (ascii)
3783
4421cef5d3f0 Make quoting in test-encoding simpler
Matt Mackall <mpm@selenic.com>
parents: 3780
diff changeset
54
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
55 $ hg --encoding ascii log
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14116
diff changeset
56 changeset: 5:a52c0692f24a
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
57 branch: ?
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
58 tag: tip
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
59 user: test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
60 date: Thu Jan 01 00:00:00 1970 +0000
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
61 summary: latin1 branch
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
62
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
63 changeset: 4:94db611b4196
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
64 user: test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
65 date: Thu Jan 01 00:00:00 1970 +0000
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
66 summary: Added tag ? for changeset ca661e7520de
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
67
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
68 changeset: 3:ca661e7520de
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
69 tag: ?
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
70 user: test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
71 date: Thu Jan 01 00:00:00 1970 +0000
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
72 summary: utf-8 e' encoded: ?
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
73
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
74 changeset: 2:650c6f3d55dd
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
75 user: test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
76 date: Thu Jan 01 00:00:00 1970 +0000
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
77 summary: latin-1 e' encoded: ?
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
78
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
79 changeset: 1:0e5b7e3f9c4a
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
80 user: test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
81 date: Mon Jan 12 13:46:40 1970 +0000
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
82 summary: koi8-r: ????? = u'\u0440\u0442\u0443\u0442\u044c'
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
83
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
84 changeset: 0:1e78a93102a3
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
85 user: test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
86 date: Mon Jan 12 13:46:40 1970 +0000
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
87 summary: latin-1 e': ? = u'\xe9'
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
88
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
89
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
90 hg log (latin-1)
3777
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
91
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
92 $ hg --encoding latin-1 log
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14116
diff changeset
93 changeset: 5:a52c0692f24a
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
94 branch: \xe9 (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
95 tag: tip
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
96 user: test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
97 date: Thu Jan 01 00:00:00 1970 +0000
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
98 summary: latin1 branch
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
99
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
100 changeset: 4:94db611b4196
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
101 user: test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
102 date: Thu Jan 01 00:00:00 1970 +0000
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
103 summary: Added tag \xe9 for changeset ca661e7520de (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
104
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
105 changeset: 3:ca661e7520de
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
106 tag: \xe9 (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
107 user: test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
108 date: Thu Jan 01 00:00:00 1970 +0000
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
109 summary: utf-8 e' encoded: \xe9 (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
110
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
111 changeset: 2:650c6f3d55dd
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
112 user: test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
113 date: Thu Jan 01 00:00:00 1970 +0000
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
114 summary: latin-1 e' encoded: \xe9 (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
115
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
116 changeset: 1:0e5b7e3f9c4a
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
117 user: test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
118 date: Mon Jan 12 13:46:40 1970 +0000
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
119 summary: koi8-r: \xd2\xd4\xd5\xd4\xd8 = u'\\u0440\\u0442\\u0443\\u0442\\u044c' (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
120
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
121 changeset: 0:1e78a93102a3
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
122 user: test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
123 date: Mon Jan 12 13:46:40 1970 +0000
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
124 summary: latin-1 e': \xe9 = u'\\xe9' (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
125
3777
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
126
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
127 hg log (utf-8)
3777
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
128
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
129 $ hg --encoding utf-8 log
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14116
diff changeset
130 changeset: 5:a52c0692f24a
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
131 branch: \xc3\xa9 (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
132 tag: tip
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
133 user: test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
134 date: Thu Jan 01 00:00:00 1970 +0000
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
135 summary: latin1 branch
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
136
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
137 changeset: 4:94db611b4196
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
138 user: test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
139 date: Thu Jan 01 00:00:00 1970 +0000
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
140 summary: Added tag \xc3\xa9 for changeset ca661e7520de (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
141
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
142 changeset: 3:ca661e7520de
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
143 tag: \xc3\xa9 (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
144 user: test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
145 date: Thu Jan 01 00:00:00 1970 +0000
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
146 summary: utf-8 e' encoded: \xc3\xa9 (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
147
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
148 changeset: 2:650c6f3d55dd
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
149 user: test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
150 date: Thu Jan 01 00:00:00 1970 +0000
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
151 summary: latin-1 e' encoded: \xc3\xa9 (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
152
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
153 changeset: 1:0e5b7e3f9c4a
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
154 user: test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
155 date: Mon Jan 12 13:46:40 1970 +0000
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
156 summary: koi8-r: \xc3\x92\xc3\x94\xc3\x95\xc3\x94\xc3\x98 = u'\\u0440\\u0442\\u0443\\u0442\\u044c' (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
157
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
158 changeset: 0:1e78a93102a3
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
159 user: test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
160 date: Mon Jan 12 13:46:40 1970 +0000
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
161 summary: latin-1 e': \xc3\xa9 = u'\\xe9' (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
162
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
163
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
164 hg tags (ascii)
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
165
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
166 $ HGENCODING=ascii hg tags
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14116
diff changeset
167 tip 5:a52c0692f24a
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
168 ? 3:ca661e7520de
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
169
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
170 hg tags (latin-1)
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
171
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
172 $ HGENCODING=latin-1 hg tags
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14116
diff changeset
173 tip 5:a52c0692f24a
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
174 \xe9 3:ca661e7520de (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
175
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
176 hg tags (utf-8)
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
177
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
178 $ HGENCODING=utf-8 hg tags
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14116
diff changeset
179 tip 5:a52c0692f24a
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
180 \xc3\xa9 3:ca661e7520de (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
181
22429
7a7eed5176a4 commands: add hidden -T option for files/manifest/status/tags
Matt Mackall <mpm@selenic.com>
parents: 17361
diff changeset
182 hg tags (JSON)
7a7eed5176a4 commands: add hidden -T option for files/manifest/status/tags
Matt Mackall <mpm@selenic.com>
parents: 17361
diff changeset
183
7a7eed5176a4 commands: add hidden -T option for files/manifest/status/tags
Matt Mackall <mpm@selenic.com>
parents: 17361
diff changeset
184 $ hg tags -Tjson
7a7eed5176a4 commands: add hidden -T option for files/manifest/status/tags
Matt Mackall <mpm@selenic.com>
parents: 17361
diff changeset
185 [
7a7eed5176a4 commands: add hidden -T option for files/manifest/status/tags
Matt Mackall <mpm@selenic.com>
parents: 17361
diff changeset
186 {
22554
bfc50ff55f3f tags: use full hash for formatter output as in log or annotate commands
Yuya Nishihara <yuya@tcha.org>
parents: 22553
diff changeset
187 "node": "a52c0692f24ad921c0a31e1736e7635a8b23b670",
22429
7a7eed5176a4 commands: add hidden -T option for files/manifest/status/tags
Matt Mackall <mpm@selenic.com>
parents: 17361
diff changeset
188 "rev": 5,
7a7eed5176a4 commands: add hidden -T option for files/manifest/status/tags
Matt Mackall <mpm@selenic.com>
parents: 17361
diff changeset
189 "tag": "tip",
7a7eed5176a4 commands: add hidden -T option for files/manifest/status/tags
Matt Mackall <mpm@selenic.com>
parents: 17361
diff changeset
190 "type": ""
7a7eed5176a4 commands: add hidden -T option for files/manifest/status/tags
Matt Mackall <mpm@selenic.com>
parents: 17361
diff changeset
191 },
7a7eed5176a4 commands: add hidden -T option for files/manifest/status/tags
Matt Mackall <mpm@selenic.com>
parents: 17361
diff changeset
192 {
22554
bfc50ff55f3f tags: use full hash for formatter output as in log or annotate commands
Yuya Nishihara <yuya@tcha.org>
parents: 22553
diff changeset
193 "node": "ca661e7520dec3f5438a63590c350bebadb04989",
22429
7a7eed5176a4 commands: add hidden -T option for files/manifest/status/tags
Matt Mackall <mpm@selenic.com>
parents: 17361
diff changeset
194 "rev": 3,
7a7eed5176a4 commands: add hidden -T option for files/manifest/status/tags
Matt Mackall <mpm@selenic.com>
parents: 17361
diff changeset
195 "tag": "\xc3\xa9", (esc)
7a7eed5176a4 commands: add hidden -T option for files/manifest/status/tags
Matt Mackall <mpm@selenic.com>
parents: 17361
diff changeset
196 "type": ""
7a7eed5176a4 commands: add hidden -T option for files/manifest/status/tags
Matt Mackall <mpm@selenic.com>
parents: 17361
diff changeset
197 }
7a7eed5176a4 commands: add hidden -T option for files/manifest/status/tags
Matt Mackall <mpm@selenic.com>
parents: 17361
diff changeset
198 ]
7a7eed5176a4 commands: add hidden -T option for files/manifest/status/tags
Matt Mackall <mpm@selenic.com>
parents: 17361
diff changeset
199
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
200 hg branches (ascii)
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
201
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
202 $ HGENCODING=ascii hg branches
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14116
diff changeset
203 ? 5:a52c0692f24a
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
204 default 4:94db611b4196 (inactive)
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
205
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
206 hg branches (latin-1)
3835
d1ce5461beed Allow the user to specify the fallback encoding for the changelog
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3827
diff changeset
207
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
208 $ HGENCODING=latin-1 hg branches
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14116
diff changeset
209 \xe9 5:a52c0692f24a (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
210 default 4:94db611b4196 (inactive)
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
211
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
212 hg branches (utf-8)
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
213
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
214 $ HGENCODING=utf-8 hg branches
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14116
diff changeset
215 \xc3\xa9 5:a52c0692f24a (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
216 default 4:94db611b4196 (inactive)
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
217 $ echo '[ui]' >> .hg/hgrc
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
218 $ echo 'fallbackencoding = koi8-r' >> .hg/hgrc
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
219
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
220 hg log (utf-8)
3843
abaa2cd00d2b make transcoding more robust
Matt Mackall <mpm@selenic.com>
parents: 3839
diff changeset
221
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
222 $ HGENCODING=utf-8 hg log
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14116
diff changeset
223 changeset: 5:a52c0692f24a
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
224 branch: \xc3\xa9 (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
225 tag: tip
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
226 user: test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
227 date: Thu Jan 01 00:00:00 1970 +0000
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
228 summary: latin1 branch
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
229
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
230 changeset: 4:94db611b4196
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
231 user: test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
232 date: Thu Jan 01 00:00:00 1970 +0000
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
233 summary: Added tag \xc3\xa9 for changeset ca661e7520de (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
234
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
235 changeset: 3:ca661e7520de
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
236 tag: \xc3\xa9 (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
237 user: test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
238 date: Thu Jan 01 00:00:00 1970 +0000
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
239 summary: utf-8 e' encoded: \xc3\xa9 (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
240
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
241 changeset: 2:650c6f3d55dd
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
242 user: test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
243 date: Thu Jan 01 00:00:00 1970 +0000
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
244 summary: latin-1 e' encoded: \xc3\xa9 (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
245
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
246 changeset: 1:0e5b7e3f9c4a
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
247 user: test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
248 date: Mon Jan 12 13:46:40 1970 +0000
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
249 summary: koi8-r: \xd1\x80\xd1\x82\xd1\x83\xd1\x82\xd1\x8c = u'\\u0440\\u0442\\u0443\\u0442\\u044c' (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
250
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
251 changeset: 0:1e78a93102a3
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
252 user: test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
253 date: Mon Jan 12 13:46:40 1970 +0000
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
254 summary: latin-1 e': \xd0\x98 = u'\\xe9' (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
255
3845
8958417abf62 Make test-encoding return 0
Matt Mackall <mpm@selenic.com>
parents: 3843
diff changeset
256
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
257 hg log (dolphin)
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
258
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
259 $ HGENCODING=dolphin hg log
15769
afdf4f5bac61 encoding: use hint markup for "please check your locale settings"
Mads Kiilerich <mads@kiilerich.com>
parents: 15615
diff changeset
260 abort: unknown encoding: dolphin
afdf4f5bac61 encoding: use hint markup for "please check your locale settings"
Mads Kiilerich <mads@kiilerich.com>
parents: 15615
diff changeset
261 (please check your locale settings)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
262 [255]
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
263 $ HGENCODING=ascii hg branch `cat latin-1-tag`
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
264 abort: decoding near '\xe9': 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)! (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
265 [255]
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
266 $ cp latin-1-tag .hg/branch
13047
6c375e07d673 branch: operate on branch names in local string space where possible
Matt Mackall <mpm@selenic.com>
parents: 12942
diff changeset
267 $ HGENCODING=latin-1 hg ci -m 'auto-promote legacy name'
13940
b7b26e54e37a encoding: avoid localstr when a string can be encoded losslessly (issue2763)
Matt Mackall <mpm@selenic.com>
parents: 13047
diff changeset
268
b7b26e54e37a encoding: avoid localstr when a string can be encoded losslessly (issue2763)
Matt Mackall <mpm@selenic.com>
parents: 13047
diff changeset
269 Test roundtrip encoding of lookup tables when not using UTF-8 (issue2763)
b7b26e54e37a encoding: avoid localstr when a string can be encoded losslessly (issue2763)
Matt Mackall <mpm@selenic.com>
parents: 13047
diff changeset
270
b7b26e54e37a encoding: avoid localstr when a string can be encoded losslessly (issue2763)
Matt Mackall <mpm@selenic.com>
parents: 13047
diff changeset
271 $ HGENCODING=latin-1 hg up `cat latin-1-tag`
b7b26e54e37a encoding: avoid localstr when a string can be encoded losslessly (issue2763)
Matt Mackall <mpm@selenic.com>
parents: 13047
diff changeset
272 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
17346
2944a6d35158 check-code: fix check for trailing whitespace on empty lines
Mads Kiilerich <mads@kiilerich.com>
parents: 16913
diff changeset
273
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
274 $ cd ..