tests/test-encoding.t
author Martin Geisler <mg@aragost.com>
Thu, 24 Nov 2011 18:22:45 +0100
changeset 15574 c9328c829cd9
parent 14162 301725c3df9a
child 15615 41885892796e
permissions -rw-r--r--
largefiles: simplify lfutil.writehash This was unnecessarily verbose: there is no need to unlink the file when we open it for write anyway, and there is no need to check if the file exists after we created it.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
14116
cd3032437064 tests: move test bundles in a bundles/ subdirectory
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 13940
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)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    45
  $ HGENCODING=latin-1 hg ci -m 'latin1 branch'
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    46
  $ rm .hg/branch
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    47
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    48
hg log (ascii)
3783
4421cef5d3f0 Make quoting in test-encoding simpler
Matt Mackall <mpm@selenic.com>
parents: 3780
diff changeset
    49
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    50
  $ 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
    51
  changeset:   5:a52c0692f24a
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    52
  branch:      ?
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    53
  tag:         tip
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    54
  user:        test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    55
  date:        Thu Jan 01 00:00:00 1970 +0000
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    56
  summary:     latin1 branch
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    57
  
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    58
  changeset:   4:94db611b4196
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:     Added tag ? for changeset ca661e7520de
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:   3:ca661e7520de
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    64
  tag:         ?
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    65
  user:        test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    66
  date:        Thu Jan 01 00:00:00 1970 +0000
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    67
  summary:     utf-8 e' encoded: ?
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    68
  
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    69
  changeset:   2:650c6f3d55dd
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:     latin-1 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:   1:0e5b7e3f9c4a
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:        Mon Jan 12 13:46:40 1970 +0000
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    77
  summary:     koi8-r: ????? = u'\u0440\u0442\u0443\u0442\u044c'
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:   0:1e78a93102a3
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:     latin-1 e': ? = u'\xe9'
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
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    85
hg log (latin-1)
3777
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    86
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    87
  $ 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
    88
  changeset:   5:a52c0692f24a
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
    89
  branch:      \xe9 (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    90
  tag:         tip
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    91
  user:        test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    92
  date:        Thu Jan 01 00:00:00 1970 +0000
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    93
  summary:     latin1 branch
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    94
  
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    95
  changeset:   4:94db611b4196
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
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
    98
  summary:     Added tag \xe9 for changeset ca661e7520de (esc)
12417
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:   3:ca661e7520de
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
   101
  tag:         \xe9 (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   102
  user:        test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   103
  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
   104
  summary:     utf-8 e' encoded: \xe9 (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   105
  
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   106
  changeset:   2:650c6f3d55dd
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:     latin-1 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:   1:0e5b7e3f9c4a
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:        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
   114
  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
   115
  
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   116
  changeset:   0:1e78a93102a3
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:     latin-1 e': \xe9 = u'\\xe9' (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   120
  
3777
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   121
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   122
hg log (utf-8)
3777
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   123
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   124
  $ 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
   125
  changeset:   5:a52c0692f24a
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
   126
  branch:      \xc3\xa9 (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   127
  tag:         tip
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   128
  user:        test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   129
  date:        Thu Jan 01 00:00:00 1970 +0000
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   130
  summary:     latin1 branch
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   131
  
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   132
  changeset:   4:94db611b4196
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
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
   135
  summary:     Added tag \xc3\xa9 for changeset ca661e7520de (esc)
12417
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:   3:ca661e7520de
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
   138
  tag:         \xc3\xa9 (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   139
  user:        test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   140
  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
   141
  summary:     utf-8 e' encoded: \xc3\xa9 (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   142
  
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   143
  changeset:   2:650c6f3d55dd
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:     latin-1 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:   1:0e5b7e3f9c4a
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:        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
   151
  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
   152
  
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   153
  changeset:   0:1e78a93102a3
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:     latin-1 e': \xc3\xa9 = u'\\xe9' (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
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   159
hg tags (ascii)
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   160
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   161
  $ 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
   162
  tip                                5:a52c0692f24a
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   163
  ?                                  3:ca661e7520de
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   164
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   165
hg tags (latin-1)
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   166
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   167
  $ 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
   168
  tip                                5:a52c0692f24a
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
   169
  \xe9                                  3:ca661e7520de (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   170
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   171
hg tags (utf-8)
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   172
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   173
  $ 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
   174
  tip                                5:a52c0692f24a
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
   175
  \xc3\xa9                                  3:ca661e7520de (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   176
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   177
hg branches (ascii)
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   178
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   179
  $ 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
   180
  ?                              5:a52c0692f24a
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   181
  default                        4:94db611b4196 (inactive)
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   182
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   183
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
   184
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   185
  $ 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
   186
  \xe9                              5:a52c0692f24a (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   187
  default                        4:94db611b4196 (inactive)
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   188
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   189
hg branches (utf-8)
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   190
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   191
  $ 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
   192
  \xc3\xa9                              5:a52c0692f24a (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   193
  default                        4:94db611b4196 (inactive)
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   194
  $ echo '[ui]' >> .hg/hgrc
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   195
  $ echo 'fallbackencoding = koi8-r' >> .hg/hgrc
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   196
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   197
hg log (utf-8)
3843
abaa2cd00d2b make transcoding more robust
Matt Mackall <mpm@selenic.com>
parents: 3839
diff changeset
   198
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   199
  $ 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
   200
  changeset:   5:a52c0692f24a
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
   201
  branch:      \xc3\xa9 (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   202
  tag:         tip
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   203
  user:        test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   204
  date:        Thu Jan 01 00:00:00 1970 +0000
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   205
  summary:     latin1 branch
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   206
  
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   207
  changeset:   4:94db611b4196
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   208
  user:        test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   209
  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
   210
  summary:     Added tag \xc3\xa9 for changeset ca661e7520de (esc)
12417
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
  changeset:   3:ca661e7520de
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12866
diff changeset
   213
  tag:         \xc3\xa9 (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   214
  user:        test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   215
  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
   216
  summary:     utf-8 e' encoded: \xc3\xa9 (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   217
  
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   218
  changeset:   2:650c6f3d55dd
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   219
  user:        test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   220
  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
   221
  summary:     latin-1 e' encoded: \xc3\xa9 (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   222
  
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   223
  changeset:   1:0e5b7e3f9c4a
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   224
  user:        test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   225
  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
   226
  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
   227
  
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   228
  changeset:   0:1e78a93102a3
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   229
  user:        test
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   230
  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
   231
  summary:     latin-1 e': \xd0\x98 = u'\\xe9' (esc)
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   232
  
3845
8958417abf62 Make test-encoding return 0
Matt Mackall <mpm@selenic.com>
parents: 3843
diff changeset
   233
12417
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   234
hg log (dolphin)
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   235
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   236
  $ HGENCODING=dolphin hg log
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   237
  abort: unknown encoding: dolphin, please check your locale settings
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   238
  [255]
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   239
  $ 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
   240
  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
   241
  [255]
1aba1c38a85b tests: unify test-encoding
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   242
  $ 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
   243
  $ 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
   244
b7b26e54e37a encoding: avoid localstr when a string can be encoded losslessly (issue2763)
Matt Mackall <mpm@selenic.com>
parents: 13047
diff changeset
   245
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
   246
b7b26e54e37a encoding: avoid localstr when a string can be encoded losslessly (issue2763)
Matt Mackall <mpm@selenic.com>
parents: 13047
diff changeset
   247
  $ 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
   248
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
b7b26e54e37a encoding: avoid localstr when a string can be encoded losslessly (issue2763)
Matt Mackall <mpm@selenic.com>
parents: 13047
diff changeset
   249