mercurial/templates/raw/map
author Gregory Szorc <gregory.szorc@gmail.com>
Sat, 28 Mar 2020 12:18:58 -0700
changeset 44651 00e0c5c06ed5
parent 37400 47aea60d114d
permissions -rw-r--r--
pycompat: change argv conversion semantics Use of os.fsencode() to convert Python's sys.argv back to bytes was not correct because it isn't the logically inverse operation from what CPython was doing under the hood. This commit changes the logic for doing the str -> bytes conversion. This required a separate implementation for POSIX and Windows. The Windows behavior is arguably not ideal. The previous behavior on Windows was leading to failing tests, such as test-http-branchmap.t, which defines a utf-8 branch name via a command argument. Previously, Mercurial's argument parser looked to be receiving wchar_t bytes in some cases. After this commit, behavior on Windows is compatible with Python 2, where CPython did not implement `int wmain()` and Windows was performing a Unicode to ANSI conversion on the wchar_t native command line. Arguably better behavior on Windows would be for Mercurial to preserve the original Unicode sequence coming from Python and to wrap this in a bytes-like type so we can round trip safely. But, this would be new, backwards incompatible behavior. My goal for this commit was to converge Mercurial behavior on Python 3 on Windows to fix busted tests. And I believe I was successful, as this commit fixes 9 tests on my Windows machine and 14 tests in the AWS CI environment! Differential Revision: https://phab.mercurial-scm.org/D8337
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
17277
323de4f49bd1 hgweb: avoid traceback if raw is used as default style
Matt Mackall <mpm@selenic.com>
parents: 16773
diff changeset
     1
default = 'shortlog'
323de4f49bd1 hgweb: avoid traceback if raw is used as default style
Matt Mackall <mpm@selenic.com>
parents: 16773
diff changeset
     2
shortlog = "'raw' is not a browsable style"
19429
c8490dcc5fb3 hgweb: add changelog and search templates to raw style
Alexander Plavin <me@aplavin.ru>
parents: 17277
diff changeset
     3
changelog = changelog.tmpl
c8490dcc5fb3 hgweb: add changelog and search templates to raw style
Alexander Plavin <me@aplavin.ru>
parents: 17277
diff changeset
     4
changelogentry = logentry.tmpl
c8490dcc5fb3 hgweb: add changelog and search templates to raw style
Alexander Plavin <me@aplavin.ru>
parents: 17277
diff changeset
     5
search = search.tmpl
5928
3340aa5a64f7 hgweb: move HTTP content types out of header templates
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5890
diff changeset
     6
mimetype = 'text/plain; charset={encoding}'
3340aa5a64f7 hgweb: move HTTP content types out of header templates
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5890
diff changeset
     7
header = ''
1901
c64bef3d7043 use safer string parser for template engine.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1694
diff changeset
     8
footer = ''
3277
105253b30239 Moved hgweb map-* files into their style directories and adjusted them.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 3236
diff changeset
     9
changeset = changeset.tmpl
8429
4bf90ee588b9 raw: use newer template syntax everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7166
diff changeset
    10
difflineplus = '{line}'
4bf90ee588b9 raw: use newer template syntax everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7166
diff changeset
    11
difflineminus = '{line}'
4bf90ee588b9 raw: use newer template syntax everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7166
diff changeset
    12
difflineat = '{line}'
4bf90ee588b9 raw: use newer template syntax everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7166
diff changeset
    13
diffline = '{line}'
4bf90ee588b9 raw: use newer template syntax everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7166
diff changeset
    14
changesetparent = '# Parent  {node}'
4bf90ee588b9 raw: use newer template syntax everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7166
diff changeset
    15
changesetchild = '# Child   {node}'
1901
c64bef3d7043 use safer string parser for template engine.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1694
diff changeset
    16
filenodelink = ''
11936
5b559934d504 templates: add filenolink to raw style (issue2332)
Matt Mackall <mpm@selenic.com>
parents: 9999
diff changeset
    17
filenolink = ''
8429
4bf90ee588b9 raw: use newer template syntax everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7166
diff changeset
    18
fileline = '{line}'
4bf90ee588b9 raw: use newer template syntax everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7166
diff changeset
    19
diffblock = '{lines}'
3277
105253b30239 Moved hgweb map-* files into their style directories and adjusted them.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 3236
diff changeset
    20
filediff = filediff.tmpl
105253b30239 Moved hgweb map-* files into their style directories and adjusted them.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 3236
diff changeset
    21
fileannotate = fileannotate.tmpl
6967
a04d8cadb6af web: fix annotate raw template, forgotten in ccc2481e3954
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 6177
diff changeset
    22
annotateline = '{author|user}@{rev}: {line}'
3941
472d9670e6e9 hgweb: add raw manifest template
Brendan Cully <brendan@kublai.com>
parents: 3277
diff changeset
    23
manifest = manifest.tmpl
6177
673d8a6bc709 Renamed "manifest" to "files" in web templates.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5928
diff changeset
    24
direntry = 'drwxr-xr-x {basename}\n'
673d8a6bc709 Renamed "manifest" to "files" in web templates.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5928
diff changeset
    25
fileentry = '{permissions|permissions} {size} {basename}\n'
4024
de081fbb27fe hgweb: add raw template to hgwebdir
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3941
diff changeset
    26
index = index.tmpl
5559
4fca1b181dd9 hgweb: flesh out raw templates
Bryan O'Sullivan <bos@serpentine.com>
parents: 4024
diff changeset
    27
notfound = notfound.tmpl
4fca1b181dd9 hgweb: flesh out raw templates
Bryan O'Sullivan <bos@serpentine.com>
parents: 4024
diff changeset
    28
error = error.tmpl
8429
4bf90ee588b9 raw: use newer template syntax everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 7166
diff changeset
    29
indexentry = '{url}\n'
9946
2059be77d4f8 templates: add raw templates for tags/branches pages
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8429
diff changeset
    30
tags = '{entries%tagentry}'
2059be77d4f8 templates: add raw templates for tags/branches pages
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8429
diff changeset
    31
tagentry = '{tag}	{node}\n'
13921
4788923a2b33 hgweb: add bookmarks listing to raw style with test case
Yuya Nishihara <yuya@tcha.org>
parents: 11936
diff changeset
    32
bookmarks = '{entries%bookmarkentry}'
4788923a2b33 hgweb: add bookmarks listing to raw style with test case
Yuya Nishihara <yuya@tcha.org>
parents: 11936
diff changeset
    33
bookmarkentry = '{bookmark}	{node}\n'
9946
2059be77d4f8 templates: add raw templates for tags/branches pages
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8429
diff changeset
    34
branches = '{entries%branchentry}'
2059be77d4f8 templates: add raw templates for tags/branches pages
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8429
diff changeset
    35
branchentry = '{branch}	{node}	{status}\n'
16773
d490edc71146 hgweb: make graph data suitable for template usage
Paul Boddie <paul@boddie.org.uk>
parents: 13921
diff changeset
    36
graph = graph.tmpl
d490edc71146 hgweb: make graph data suitable for template usage
Paul Boddie <paul@boddie.org.uk>
parents: 13921
diff changeset
    37
graphnode = graphnode.tmpl
d490edc71146 hgweb: make graph data suitable for template usage
Paul Boddie <paul@boddie.org.uk>
parents: 13921
diff changeset
    38
graphedge = graphedge.tmpl
d490edc71146 hgweb: make graph data suitable for template usage
Paul Boddie <paul@boddie.org.uk>
parents: 13921
diff changeset
    39
bookmarkname = 'bookmark:    {name}\n'
d490edc71146 hgweb: make graph data suitable for template usage
Paul Boddie <paul@boddie.org.uk>
parents: 13921
diff changeset
    40
branchname = 'branch:      {name}\n'
d490edc71146 hgweb: make graph data suitable for template usage
Paul Boddie <paul@boddie.org.uk>
parents: 13921
diff changeset
    41
tagname = 'tag:         {name}\n'