Yuya Nishihara <yuya@tcha.org> [Sun, 25 Feb 2018 16:36:38 +0900] rev 36545
templatekw: inline getfiles()
It's just three lines. We don't need a separate function for that.
Yuya Nishihara <yuya@tcha.org> [Sun, 25 Feb 2018 16:35:34 +0900] rev 36544
templatekw: factor out function to build a list of files per status
Removes copy-paste code before switching to the (context, mapping) API.
Yuya Nishihara <yuya@tcha.org> [Sun, 25 Feb 2018 13:40:46 +0900] rev 36543
templatekw: switch non-showlist template keywords to new API
Yuya Nishihara <yuya@tcha.org> [Sun, 25 Feb 2018 14:28:32 +0900] rev 36542
templatekw: extract non-templatekw function as getgraphnode()
Prepares for switching to the (context, mapping) API. We still need (repo, ctx)
function for the fast path.
Sascha Nemecek <nemecek@wienfluss.net> [Wed, 28 Feb 2018 16:24:39 +0100] rev 36541
convert: avoid closing ui.fout in subversion code (issue5807)
Don't close 'fp' (= 'ui.fout') stream to prevent 'ValueError: I/O
operation on closed file' (Bug #5807).
Regression of changeset 30261:6bed17ba00a1
(https://www.mercurial-scm.org/repo/hg/rev/6bed17ba00a1)
Yuya Nishihara <yuya@tcha.org> [Sun, 07 Jan 2018 11:53:07 +0900] rev 36540
cmdutil: expand filename format string by templater (BC)
This is BC because '{}' could be a valid filename before, but I believe good
programmers wouldn't use such catastrophic output filenames. On the other
hand, '\' has to be escaped since it is a directory separator on Windows.
Thanks to Matt Harbison for spotting this weird issue.
This patch also adds cmdutil.rendertemplate(ctx, tmpl, props) as a simpler
way of expanding template against single changeset.
.. bc::
'{' in output filename passed to archive/cat/export is taken as a start
of a template expression.
Yuya Nishihara <yuya@tcha.org> [Sun, 18 Feb 2018 11:53:26 +0900] rev 36539
templater: add option to parse template string just like raw string literal
This seems a bit odd because the template syntax has no raw string literal
containing template fragments, but is necessary to port filename format string
to templater. See the next patch.
Yuya Nishihara <yuya@tcha.org> [Sun, 18 Feb 2018 10:58:15 +0900] rev 36538
cmdutil: reorder optional arguments passed to makefileobj()
**props will be passed directly to templater.
Yuya Nishihara <yuya@tcha.org> [Sun, 18 Feb 2018 10:54:24 +0900] rev 36537
cmdutil: strip "%m" pattern (first line of commit message) from both ends
This matches the behavior of the template keyword {desc}.
Yuya Nishihara <yuya@tcha.org> [Tue, 27 Feb 2018 22:37:57 +0900] rev 36536
test-acl: mock up util.getuser() to trust $LOGNAME on Windows
The test relies on POSIX-like getuser() behavior, so we can't use
windows.getuser().
Yuya Nishihara <yuya@tcha.org> [Thu, 01 Mar 2018 04:50:22 -0500] rev 36535
fileset: drop bad "elif:" trying to check invalid size expression
Since str.isdigit is a function, the last "elif" was always true. An invalid
expression is rejected by util.sizetoint(), so we don't need "elif".
Yuya Nishihara <yuya@tcha.org> [Thu, 01 Mar 2018 08:55:39 -0500] rev 36534
py3: fix test-command-template.t to write files in binary mode
Yuya Nishihara <yuya@tcha.org> [Thu, 01 Mar 2018 08:45:34 -0500] rev 36533
py3: use bytestr() to coerce position carried by ParseError to string
The position value is either int or byte string.
Yuya Nishihara <yuya@tcha.org> [Thu, 01 Mar 2018 08:38:39 -0500] rev 36532
py3: use bytes.endswith('\n') to strip off '\n' from debug color output
Yuya Nishihara <yuya@tcha.org> [Thu, 01 Mar 2018 08:19:47 -0500] rev 36531
py3: fix type of attribute names forwarded by templatekw._hybrid
# skip-blame because just r'' prefixes
Yuya Nishihara <yuya@tcha.org> [Thu, 01 Mar 2018 06:47:06 -0500] rev 36530
py3: move between bytes and unicode when re-raising IOError
IOError is a Python exception, which argument must be a system string.
Yuya Nishihara <yuya@tcha.org> [Thu, 01 Mar 2018 06:43:13 -0500] rev 36529
py3: use '%d' to format diffstat sum
Yuya Nishihara <yuya@tcha.org> [Thu, 01 Mar 2018 06:40:09 -0500] rev 36528
py3: make regexp literal bytes in templatefilters.py
# skip-blame because just b'' prefixes
Yuya Nishihara <yuya@tcha.org> [Thu, 01 Mar 2018 06:38:37 -0500] rev 36527
templatefilters: use encoding.unifromlocal/unitolocal() for py3 compatibility
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 02 Mar 2018 00:00:41 +0530] rev 36526
py3: replace str() with it's bytes equivalent in hgext/shelve.py
Internally we are dealing with bytes everywhere, so anything returning a unicode
results in an error or some change in behaviour.
Differential Revision: https://phab.mercurial-scm.org/D2520
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 01 Mar 2018 23:59:20 +0530] rev 36525
py3: make sure we write bytes in a file open in bytes mode
# skip-blame just b'' prefix
Differential Revision: https://phab.mercurial-scm.org/D2519
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 01 Mar 2018 23:58:21 +0530] rev 36524
py3: add b'' prefixes in tests/test-obsolete.t
# skip-blame because it's just b'' prefixes
Differential Revision: https://phab.mercurial-scm.org/D2518
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 01 Mar 2018 23:57:16 +0530] rev 36523
py3: add a b'' prefix in tests/test-fncache.t
# skip-blame because it's just b'' prefix
Differential Revision: https://phab.mercurial-scm.org/D2517
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 01 Mar 2018 23:54:52 +0530] rev 36522
py3: use pycompat.bytestr() to convert error instances to bytes
Differential Revision: https://phab.mercurial-scm.org/D2516