Wed, 04 Apr 2018 00:24:09 +0900 hgweb: wrap {lines} of filerevision with mappinggenerator
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 00:24:09 +0900] rev 38093
hgweb: wrap {lines} of filerevision with mappinggenerator No bare generator of mappings should be put in a template mapping.
Wed, 04 Apr 2018 00:21:52 +0900 hgweb: drop unused argument 'tmpl' from webutil.diffstat()
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 00:21:52 +0900] rev 38092
hgweb: drop unused argument 'tmpl' from webutil.diffstat()
Wed, 04 Apr 2018 00:20:47 +0900 hgweb: use template context to render {diffstat}
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 00:20:47 +0900] rev 38091
hgweb: use template context to render {diffstat} This is a preferred way to process nested templates.
Wed, 04 Apr 2018 00:19:37 +0900 hgweb: wrap {diffstat} with mappedgenerator
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 00:19:37 +0900] rev 38090
hgweb: wrap {diffstat} with mappedgenerator This can't be a mappinggenerator since the associated templates are switched per item. We already have webutil.diffstatgen(). That's why the generator function is named as _diffstattmplgen().
Fri, 18 May 2018 20:43:01 -0400 pathencode: improve error messages slightly
Augie Fackler <augie@google.com> [Fri, 18 May 2018 20:43:01 -0400] rev 38089
pathencode: improve error messages slightly Both of these are conditions we should never hit, so we can afford to be more verbose to make debugging less baffling. Differential Revision: https://phab.mercurial-scm.org/D3589
Fri, 18 May 2018 20:42:31 -0400 pathencode: hashlib.sha1() takes bytes not str on Python 3
Augie Fackler <augie@google.com> [Fri, 18 May 2018 20:42:31 -0400] rev 38088
pathencode: hashlib.sha1() takes bytes not str on Python 3 Differential Revision: https://phab.mercurial-scm.org/D3588
Fri, 18 May 2018 20:42:04 -0400 pathencode: fix importing hashlib on Python 3
Augie Fackler <augie@google.com> [Fri, 18 May 2018 20:42:04 -0400] rev 38087
pathencode: fix importing hashlib on Python 3 I'm curious why PyImport_Import is returning NULL, but PyImport_ImportModule bypasses some of the regular import path, probably including demandimport, which I suspect is the issue here. Differential Revision: https://phab.mercurial-scm.org/D3587
Fri, 18 May 2018 20:11:24 -0400 context: fix %-formatting on Python 3
Augie Fackler <augie@google.com> [Fri, 18 May 2018 20:11:24 -0400] rev 38086
context: fix %-formatting on Python 3 changeid could be an int or a bytestr, so use our pycompat wrapper. Differential Revision: https://phab.mercurial-scm.org/D3585
Fri, 18 May 2018 19:54:50 -0400 patch: fix import-time syntax error in test-check-module-imports.t
Augie Fackler <augie@google.com> [Fri, 18 May 2018 19:54:50 -0400] rev 38085
patch: fix import-time syntax error in test-check-module-imports.t This is more correct, though we were getting lucky in practice with our rewriter saving us. # skip-blame just a b prefix Differential Revision: https://phab.mercurial-scm.org/D3584
Fri, 18 May 2018 19:52:35 -0400 py3: whitelist two more passing tests observed by buildbot
Augie Fackler <augie@google.com> [Fri, 18 May 2018 19:52:35 -0400] rev 38084
py3: whitelist two more passing tests observed by buildbot Differential Revision: https://phab.mercurial-scm.org/D3583
Sat, 19 May 2018 00:23:36 +0530 py3: use stringutil.pprint() to format a list to print
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 00:23:36 +0530] rev 38083
py3: use stringutil.pprint() to format a list to print Differential Revision: https://phab.mercurial-scm.org/D3582
Sat, 19 May 2018 00:21:59 +0530 py3: fix kwargs handling in qgurad in hgext/mq.py
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 00:21:59 +0530] rev 38082
py3: fix kwargs handling in qgurad in hgext/mq.py # skip-blame because just r'' prefixes Differential Revision: https://phab.mercurial-scm.org/D3581
Sat, 19 May 2018 00:19:56 +0530 py3: use .startswith() instead of bytes[0]
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 00:19:56 +0530] rev 38081
py3: use .startswith() instead of bytes[0] bytes[0] returns the ascii value of character at 0 index. Differential Revision: https://phab.mercurial-scm.org/D3580
Thu, 17 May 2018 23:11:24 -0700 crecord: fallback to text mode if diffs are too big for curses mode
Kyle Lippincott <spectral@google.com> [Thu, 17 May 2018 23:11:24 -0700] rev 38080
crecord: fallback to text mode if diffs are too big for curses mode crecord uses curses.newpad to create a region that we can then scroll around in by moving the main 'screen' as a veiwport into the (probably larger than the actual screen) pad. Internally, at least in ncurses, pads are implemented using windows, which have their dimensions limited to a certain size. Depending on compilation options for ncurses, this size might be pretty small: (signed) short, or it might be larger ((signed) int). crecord wants to have enough room to have all of the contents of the main area of the chunkselector in the pad; this means that the full size with everything expanded must be less than these (undocumented, afaict) limits. It's not easy to write tests for this because the limits are platform- and installation- dependent and undocumented / unqueryable, as far as I can tell. Differential Revision: https://phab.mercurial-scm.org/D3577
Thu, 17 May 2018 15:33:28 -0700 narrow: filter copies in core
Martin von Zweigbergk <martinvonz@google.com> [Thu, 17 May 2018 15:33:28 -0700] rev 38079
narrow: filter copies in core Differential Revision: https://phab.mercurial-scm.org/D3576
Thu, 17 May 2018 15:25:52 -0700 narrow: filter set of files to check for case-folding to core
Martin von Zweigbergk <martinvonz@google.com> [Thu, 17 May 2018 15:25:52 -0700] rev 38078
narrow: filter set of files to check for case-folding to core Differential Revision: https://phab.mercurial-scm.org/D3575
Thu, 17 May 2018 15:12:48 -0700 narrow: filter merge actions in core
Martin von Zweigbergk <martinvonz@google.com> [Thu, 17 May 2018 15:12:48 -0700] rev 38077
narrow: filter merge actions in core Part of the ongoing effort to move narrow into core. Differential Revision: https://phab.mercurial-scm.org/D3574
Thu, 17 May 2018 12:23:38 -0700 hgweb: extract code for emitting multiple changelist records
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 17 May 2018 12:23:38 -0700] rev 38076
hgweb: extract code for emitting multiple changelist records changelistentry() exists so extensions can easily monkeypatch the function to add additional metadata. In at least one case at Mozilla, we have an extension doing this where performance would greatly benefit if we were able to "batch fetch" metadata for all revisions that will eventually have their data set. By extracting the logic for "obtain records for N revisions" into a standalone function, we make it possible for a monkeypatched function to more efficiently bulk fetch data for N revisions. Differential Revision: https://phab.mercurial-scm.org/D3573
Wed, 16 May 2018 22:44:27 -0400 phabricator: register config settings
Matt Harbison <matt_harbison@yahoo.com> [Wed, 16 May 2018 22:44:27 -0400] rev 38075
phabricator: register config settings I didn't bother registering the deprecated phabricator.auth.*, and I'm not sure if the two flagged as 'developer config' should be moved to [devel] (or why there's a distinction between `repophid` and `callsign`).
Wed, 16 May 2018 14:11:41 -0600 filemerge: support specifying a python function to custom merge-tools
hindlemail <tom_hindle@sil.org> [Wed, 16 May 2018 14:11:41 -0600] rev 38074
filemerge: support specifying a python function to custom merge-tools Eliminates the need to specify a python executable, which may not exist on system. Additionally launching script inprocess aids portability on systems that can't execute python via the shell. Example usage "merge-tools.myTool.executable=python:c:\myTool.py:mergefn" where myTool.py contains a function: "def mergefn(ui, repo, args, **kwargs):" where args is list of args passed to merge tool. (by default, expanded: $local $base $other) Invoking the specified python function was done by exposing and invoking (hook._pythonhook -> hook.pythonhook)
Sun, 13 May 2018 11:09:53 +0900 test-http-branchmap: fix stdio mode on Windows
Yuya Nishihara <yuya@tcha.org> [Sun, 13 May 2018 11:09:53 +0900] rev 38073
test-http-branchmap: fix stdio mode on Windows
Sun, 13 May 2018 11:08:35 +0900 test-http-branchmap: fix encoding test to wrap the server stream
Yuya Nishihara <yuya@tcha.org> [Sun, 13 May 2018 11:08:35 +0900] rev 38072
test-http-branchmap: fix encoding test to wrap the server stream Wrapping sys.std* streams has no effect since 39d13b8c101d, "py3: bulk replace sys.stdin/out/err by util's."
Thu, 17 May 2018 21:55:00 +0900 test-merge-tools: create repo directory to free $TESTTMP for temporary files
Yuya Nishihara <yuya@tcha.org> [Thu, 17 May 2018 21:55:00 +0900] rev 38071
test-merge-tools: create repo directory to free $TESTTMP for temporary files
Sat, 12 May 2018 23:44:08 +0200 notify: add option to include function names in the diff output
Joerg Sonnenberger <joerg@bec.de> [Sat, 12 May 2018 23:44:08 +0200] rev 38070
notify: add option to include function names in the diff output This is a localized version of diff.showfunc. Differential Revision: https://phab.mercurial-scm.org/D3553
Wed, 16 May 2018 10:34:31 -0700 tests: update py3 test since json fields are now sorted
Martin von Zweigbergk <martinvonz@google.com> [Wed, 16 May 2018 10:34:31 -0700] rev 38069
tests: update py3 test since json fields are now sorted The fields have been sorted since 814151cd8c4a (logcmdutil: rewrite jsonchangeset printer to be backed by jsonformatter, 2018-04-13), and the test case has thus been failing since that commit. Differential Revision: https://phab.mercurial-scm.org/D3570
Wed, 16 May 2018 15:48:12 -0700 tests: test-parseindex.t works just fine with chg
Kyle Lippincott <spectral@google.com> [Wed, 16 May 2018 15:48:12 -0700] rev 38068
tests: test-parseindex.t works just fine with chg In 538e850ae737 I annotated tests that failed with chg with "#require no-chg", but did not investigate why the tests were failing. This test was failing for unrelated reasons (I forgot to rebuild hg) and so should not be marked as no-chg. Test Plan: make local pushd contrib/chg make clean; make popd cd tests for f in '' --with-chg=../contrib/chg/chg; do ./run-tests.py --local $f test-parseindex.t done Differential Revision: https://phab.mercurial-scm.org/D3571
Fri, 27 Apr 2018 21:55:02 +0530 py3: convert the report to bytes
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 27 Apr 2018 21:55:02 +0530] rev 38067
py3: convert the report to bytes Differential Revision: https://phab.mercurial-scm.org/D3569
Fri, 11 May 2018 10:36:28 -0700 json: reject unicode on py2 as well
Martin von Zweigbergk <martinvonz@google.com> [Fri, 11 May 2018 10:36:28 -0700] rev 38066
json: reject unicode on py2 as well This makes it consistent with the behavior on py3. Differential Revision: https://phab.mercurial-scm.org/D3536
Wed, 16 May 2018 20:22:23 +0900 dispatch: mask negative exit code recorded in blackbox log
Yuya Nishihara <yuya@tcha.org> [Wed, 16 May 2018 20:22:23 +0900] rev 38065
dispatch: mask negative exit code recorded in blackbox log That's what we do for the exit code delivered to the environment.
Wed, 16 May 2018 20:17:50 +0900 dispatch: fix exit code of unhandled exception recorded in blackbox log
Yuya Nishihara <yuya@tcha.org> [Wed, 16 May 2018 20:17:50 +0900] rev 38064
dispatch: fix exit code of unhandled exception recorded in blackbox log Spotted by Martin von Zweigbergk. We might want to change the exit code to -1 (i.e. 255) because 1 means non-abort error in hg, but that's another issue.
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip