tests/test-encoding-align.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Tue, 11 Feb 2020 11:18:52 +0100
changeset 44363 f7459da77f23
parent 41345 24bef6a99958
permissions -rw-r--r--
nodemap: introduce an option to use mmap to read the nodemap mapping The performance and memory benefit is much greater if we don't have to copy all the data in memory for each information. So we introduce an option (on by default) to read the data using mmap. This changeset is the last one definition the API for index support nodemap data. (they have to be able to use the mmaping). Below are some benchmark comparing the best we currently have in 5.3 with the final step of this series (using the persistent nodemap implementation in Rust). The benchmark run `hg perfindex` with various revset and the following variants: Before: * do not use the persistent nodemap * use the CPython implementation of the index for nodemap * use mmapping of the changelog index After: * use the MixedIndex Rust code, with the NodeTree object for nodemap access (still in review) * use the persistent nodemap data from disk * access the persistent nodemap data through mmap * use mmapping of the changelog index The persistent nodemap greatly speed up most operation on very large repositories. Some of the previously very fast lookup end up a bit slower because the persistent nodemap has to be setup. However the absolute slowdown is very small and won't matters in the big picture. Here are some numbers (in seconds) for the reference copy of mozilla-try: Revset Before After abs-change speedup -10000: 0.004622 0.005532 0.000910 × 0.83 -10: 0.000050 0.000132 0.000082 × 0.37 tip 0.000052 0.000085 0.000033 × 0.61 0 + (-10000:) 0.028222 0.005337 -0.022885 × 5.29 0 0.023521 0.000084 -0.023437 × 280.01 (-10000:) + 0 0.235539 0.005308 -0.230231 × 44.37 (-10:) + :9 0.232883 0.000180 -0.232703 ×1293.79 (-10000:) + (:99) 0.238735 0.005358 -0.233377 × 44.55 :99 + (-10000:) 0.317942 0.005593 -0.312349 × 56.84 :9 + (-10:) 0.313372 0.000179 -0.313193 ×1750.68 :9 0.316450 0.000143 -0.316307 ×2212.93 On smaller repositories, the cost of nodemap related operation is not as big, so the win is much more modest. Yet it helps shaving a handful of millisecond here and there. Here are some numbers (in seconds) for the reference copy of mercurial: Revset Before After abs-change speedup -10: 0.000065 0.000097 0.000032 × 0.67 tip 0.000063 0.000078 0.000015 × 0.80 0 0.000561 0.000079 -0.000482 × 7.10 -10000: 0.004609 0.003648 -0.000961 × 1.26 0 + (-10000:) 0.005023 0.003715 -0.001307 × 1.35 (-10:) + :9 0.002187 0.000108 -0.002079 ×20.25 (-10000:) + 0 0.006252 0.003716 -0.002536 × 1.68 (-10000:) + (:99) 0.006367 0.003707 -0.002660 × 1.71 :9 + (-10:) 0.003846 0.000110 -0.003736 ×34.96 :9 0.003854 0.000099 -0.003755 ×38.92 :99 + (-10000:) 0.007644 0.003778 -0.003866 × 2.02 Differential Revision: https://phab.mercurial-scm.org/D7894
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
     1
Test alignment of multibyte characters
11611
4f5a6df2af92 i18n: use encoding.colwidth() for correct column width
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
     2
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
     3
  $ HGENCODING=utf-8
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
     4
  $ export HGENCODING
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
     5
  $ hg init t
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
     6
  $ cd t
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 36052
diff changeset
     7
  $ "$PYTHON" << EOF
41345
24bef6a99958 py3: fix up test-encoding-align.t for python3
Augie Fackler <augie@google.com>
parents: 39707
diff changeset
     8
  > from mercurial import pycompat
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
     9
  > # (byte, width) = (6, 4)
36052
af9cb761b5f3 py3: replace file() with open() in test-encoding-align.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33262
diff changeset
    10
  > s = b"\xe7\x9f\xad\xe5\x90\x8d"
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    11
  > # (byte, width) = (7, 7): odd width is good for alignment test
36052
af9cb761b5f3 py3: replace file() with open() in test-encoding-align.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33262
diff changeset
    12
  > m = b"MIDDLE_"
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    13
  > # (byte, width) = (18, 12)
36052
af9cb761b5f3 py3: replace file() with open() in test-encoding-align.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33262
diff changeset
    14
  > l = b"\xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d"
af9cb761b5f3 py3: replace file() with open() in test-encoding-align.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33262
diff changeset
    15
  > f = open('s', 'wb'); f.write(s); f.close()
af9cb761b5f3 py3: replace file() with open() in test-encoding-align.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33262
diff changeset
    16
  > f = open('m', 'wb'); f.write(m); f.close()
af9cb761b5f3 py3: replace file() with open() in test-encoding-align.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33262
diff changeset
    17
  > f = open('l', 'wb'); f.write(l); f.close()
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    18
  > # instant extension to show list of options
36052
af9cb761b5f3 py3: replace file() with open() in test-encoding-align.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33262
diff changeset
    19
  > f = open('showoptlist.py', 'wb'); f.write(b"""# encoding: utf-8
32337
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 25295
diff changeset
    20
  > from mercurial import registrar
21254
51e5c793a9f4 tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents: 17837
diff changeset
    21
  > cmdtable = {}
32337
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 25295
diff changeset
    22
  > command = registrar.command(cmdtable)
21254
51e5c793a9f4 tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents: 17837
diff changeset
    23
  > 
33097
fce4ed2912bb py3: make sure commands name are bytes in tests
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32337
diff changeset
    24
  > @command(b'showoptlist',
41345
24bef6a99958 py3: fix up test-encoding-align.t for python3
Augie Fackler <augie@google.com>
parents: 39707
diff changeset
    25
  >     [(b's', b'opt1', b'', b'short width'  + (b' ' +%(s)s) * 8, %(s)s),
24bef6a99958 py3: fix up test-encoding-align.t for python3
Augie Fackler <augie@google.com>
parents: 39707
diff changeset
    26
  >     (b'm', b'opt2', b'', b'middle width' + (b' ' + %(m)s) * 8, %(m)s),
24bef6a99958 py3: fix up test-encoding-align.t for python3
Augie Fackler <augie@google.com>
parents: 39707
diff changeset
    27
  >     (b'l', b'opt3', b'', b'long width'   + (b' ' + %(l)s) * 8, %(l)s)],
24bef6a99958 py3: fix up test-encoding-align.t for python3
Augie Fackler <augie@google.com>
parents: 39707
diff changeset
    28
  >     b'')
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    29
  > def showoptlist(ui, repo, *pats, **opts):
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    30
  >     '''dummy command to show option descriptions'''
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    31
  >     return 0
41345
24bef6a99958 py3: fix up test-encoding-align.t for python3
Augie Fackler <augie@google.com>
parents: 39707
diff changeset
    32
  > """ % {b's': pycompat.byterepr(s),
24bef6a99958 py3: fix up test-encoding-align.t for python3
Augie Fackler <augie@google.com>
parents: 39707
diff changeset
    33
  >        b'm': pycompat.byterepr(m),
24bef6a99958 py3: fix up test-encoding-align.t for python3
Augie Fackler <augie@google.com>
parents: 39707
diff changeset
    34
  >        b'l': pycompat.byterepr(l),
24bef6a99958 py3: fix up test-encoding-align.t for python3
Augie Fackler <augie@google.com>
parents: 39707
diff changeset
    35
  >       })
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    36
  > f.close()
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    37
  > EOF
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    38
  $ S=`cat s`
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    39
  $ M=`cat m`
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    40
  $ L=`cat l`
11611
4f5a6df2af92 i18n: use encoding.colwidth() for correct column width
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    41
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    42
alignment of option descriptions in help
11611
4f5a6df2af92 i18n: use encoding.colwidth() for correct column width
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    43
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    44
  $ cat <<EOF > .hg/hgrc
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    45
  > [extensions]
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    46
  > ja_ext = `pwd`/showoptlist.py
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    47
  > EOF
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    48
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    49
check alignment of option descriptions in help
11611
4f5a6df2af92 i18n: use encoding.colwidth() for correct column width
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    50
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    51
  $ hg help showoptlist
15203
c7ce651a6bc9 help: generate command help into a single RST string for formatting
Matt Mackall <mpm@selenic.com>
parents: 15202
diff changeset
    52
  hg showoptlist
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    53
  
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    54
  dummy command to show option descriptions
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    55
  
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    56
  options:
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    57
  
15145
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 15066
diff changeset
    58
   -s --opt1 \xe7\x9f\xad\xe5\x90\x8d         short width \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d \xe7\x9f\xad\xe5\x90\x8d (esc)
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 15066
diff changeset
    59
   -m --opt2 MIDDLE_      middle width MIDDLE_ MIDDLE_ MIDDLE_ MIDDLE_ MIDDLE_
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 15066
diff changeset
    60
                          MIDDLE_ MIDDLE_ MIDDLE_
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 15066
diff changeset
    61
   -l --opt3 \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d long width \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d (esc)
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 15066
diff changeset
    62
                          \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d (esc)
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 15066
diff changeset
    63
                          \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d (esc)
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    64
  
22110
26f7c8033bed help: tweak --verbose command help hint
Matt Mackall <mpm@selenic.com>
parents: 21585
diff changeset
    65
  (some details hidden, use --verbose to show complete help)
11611
4f5a6df2af92 i18n: use encoding.colwidth() for correct column width
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    66
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    67
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    68
  $ rm -f s; touch s
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    69
  $ rm -f m; touch m
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    70
  $ rm -f l; touch l
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    71
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    72
add files
11611
4f5a6df2af92 i18n: use encoding.colwidth() for correct column width
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    73
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    74
  $ cp s $S
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    75
  $ hg add $S
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    76
  $ cp m $M
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    77
  $ hg add $M
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    78
  $ cp l $L
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    79
  $ hg add $L
11611
4f5a6df2af92 i18n: use encoding.colwidth() for correct column width
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    80
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    81
commit(1)
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    82
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    83
  $ echo 'first line(1)' >> s; cp s $S
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    84
  $ echo 'first line(2)' >> m; cp m $M
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    85
  $ echo 'first line(3)' >> l; cp l $L
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    86
  $ hg commit -m 'first commit' -u $S
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    87
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    88
commit(2)
11611
4f5a6df2af92 i18n: use encoding.colwidth() for correct column width
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    89
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    90
  $ echo 'second line(1)' >> s; cp s $S
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    91
  $ echo 'second line(2)' >> m; cp m $M
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    92
  $ echo 'second line(3)' >> l; cp l $L
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    93
  $ hg commit -m 'second commit' -u $M
11611
4f5a6df2af92 i18n: use encoding.colwidth() for correct column width
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    94
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    95
commit(3)
11611
4f5a6df2af92 i18n: use encoding.colwidth() for correct column width
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    96
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    97
  $ echo 'third line(1)' >> s; cp s $S
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    98
  $ echo 'third line(2)' >> m; cp m $M
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    99
  $ echo 'third line(3)' >> l; cp l $L
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   100
  $ hg commit -m 'third commit' -u $L
11611
4f5a6df2af92 i18n: use encoding.colwidth() for correct column width
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   101
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   102
check alignment of user names in annotate
11611
4f5a6df2af92 i18n: use encoding.colwidth() for correct column width
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   103
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   104
  $ hg annotate -u $M
12941
b911cb80c671 tests: use (esc) markup for string-escape
Mads Kiilerich <mads@kiilerich.com>
parents: 12722
diff changeset
   105
          \xe7\x9f\xad\xe5\x90\x8d: first line(2) (esc)
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   106
       MIDDLE_: second line(2)
12941
b911cb80c671 tests: use (esc) markup for string-escape
Mads Kiilerich <mads@kiilerich.com>
parents: 12722
diff changeset
   107
  \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d: third line(2) (esc)
11611
4f5a6df2af92 i18n: use encoding.colwidth() for correct column width
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   108
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   109
check alignment of filenames in diffstat
11611
4f5a6df2af92 i18n: use encoding.colwidth() for correct column width
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   110
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   111
  $ hg diff -c tip --stat
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   112
   MIDDLE_      |  1 +
12941
b911cb80c671 tests: use (esc) markup for string-escape
Mads Kiilerich <mads@kiilerich.com>
parents: 12722
diff changeset
   113
   \xe7\x9f\xad\xe5\x90\x8d         |  1 + (esc)
b911cb80c671 tests: use (esc) markup for string-escape
Mads Kiilerich <mads@kiilerich.com>
parents: 12722
diff changeset
   114
   \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d |  1 + (esc)
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   115
   3 files changed, 3 insertions(+), 0 deletions(-)
11611
4f5a6df2af92 i18n: use encoding.colwidth() for correct column width
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   116
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   117
add branches/tags
11611
4f5a6df2af92 i18n: use encoding.colwidth() for correct column width
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   118
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   119
  $ hg branch $S
12941
b911cb80c671 tests: use (esc) markup for string-escape
Mads Kiilerich <mads@kiilerich.com>
parents: 12722
diff changeset
   120
  marked working directory as branch \xe7\x9f\xad\xe5\x90\x8d (esc)
15615
41885892796e branch: warn on branching
Matt Mackall <mpm@selenic.com>
parents: 15203
diff changeset
   121
  (branches are permanent and global, did you want a bookmark?)
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   122
  $ hg tag $S
21571
17da326fd041 bookmarks: properly align multi-byte characters
Matt Mackall <mpm@selenic.com>
parents: 21570
diff changeset
   123
  $ hg book -f $S
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   124
  $ hg branch $M
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   125
  marked working directory as branch MIDDLE_
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   126
  $ hg tag $M
21571
17da326fd041 bookmarks: properly align multi-byte characters
Matt Mackall <mpm@selenic.com>
parents: 21570
diff changeset
   127
  $ hg book -f $M
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   128
  $ hg branch $L
12941
b911cb80c671 tests: use (esc) markup for string-escape
Mads Kiilerich <mads@kiilerich.com>
parents: 12722
diff changeset
   129
  marked working directory as branch \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d (esc)
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   130
  $ hg tag $L
21571
17da326fd041 bookmarks: properly align multi-byte characters
Matt Mackall <mpm@selenic.com>
parents: 21570
diff changeset
   131
  $ hg book -f $L
11611
4f5a6df2af92 i18n: use encoding.colwidth() for correct column width
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   132
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   133
check alignment of branches
11611
4f5a6df2af92 i18n: use encoding.colwidth() for correct column width
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   134
21570
d0ec3800101a tests: fix cut and paste error on encoding alignment test
Matt Mackall <mpm@selenic.com>
parents: 17837
diff changeset
   135
  $ hg branches
d0ec3800101a tests: fix cut and paste error on encoding alignment test
Matt Mackall <mpm@selenic.com>
parents: 17837
diff changeset
   136
  \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d                   5:d745ff46155b (esc)
d0ec3800101a tests: fix cut and paste error on encoding alignment test
Matt Mackall <mpm@selenic.com>
parents: 17837
diff changeset
   137
  MIDDLE_                        4:9259be597f19 (inactive)
d0ec3800101a tests: fix cut and paste error on encoding alignment test
Matt Mackall <mpm@selenic.com>
parents: 17837
diff changeset
   138
  \xe7\x9f\xad\xe5\x90\x8d                           3:b06c5b6def9e (inactive) (esc)
d0ec3800101a tests: fix cut and paste error on encoding alignment test
Matt Mackall <mpm@selenic.com>
parents: 17837
diff changeset
   139
  default                        2:64a70663cee8 (inactive)
11611
4f5a6df2af92 i18n: use encoding.colwidth() for correct column width
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   140
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   141
check alignment of tags
11611
4f5a6df2af92 i18n: use encoding.colwidth() for correct column width
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   142
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   143
  $ hg tags
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   144
  tip                                5:d745ff46155b
12941
b911cb80c671 tests: use (esc) markup for string-escape
Mads Kiilerich <mads@kiilerich.com>
parents: 12722
diff changeset
   145
  \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d                       4:9259be597f19 (esc)
12418
09c6dd129f82 tests: unify test-encoding-align
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   146
  MIDDLE_                            3:b06c5b6def9e
12941
b911cb80c671 tests: use (esc) markup for string-escape
Mads Kiilerich <mads@kiilerich.com>
parents: 12722
diff changeset
   147
  \xe7\x9f\xad\xe5\x90\x8d                               2:64a70663cee8 (esc)
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 15615
diff changeset
   148
21571
17da326fd041 bookmarks: properly align multi-byte characters
Matt Mackall <mpm@selenic.com>
parents: 21570
diff changeset
   149
check alignment of bookmarks
17da326fd041 bookmarks: properly align multi-byte characters
Matt Mackall <mpm@selenic.com>
parents: 21570
diff changeset
   150
17da326fd041 bookmarks: properly align multi-byte characters
Matt Mackall <mpm@selenic.com>
parents: 21570
diff changeset
   151
  $ hg book
17da326fd041 bookmarks: properly align multi-byte characters
Matt Mackall <mpm@selenic.com>
parents: 21570
diff changeset
   152
     MIDDLE_                   5:d745ff46155b
17da326fd041 bookmarks: properly align multi-byte characters
Matt Mackall <mpm@selenic.com>
parents: 21570
diff changeset
   153
     \xe7\x9f\xad\xe5\x90\x8d                      4:9259be597f19 (esc)
17da326fd041 bookmarks: properly align multi-byte characters
Matt Mackall <mpm@selenic.com>
parents: 21570
diff changeset
   154
   * \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d              5:d745ff46155b (esc)