Wed, 06 Sep 2017 21:23:38 -0700 blackbox: unindent a try block
Jun Wu <quark@fb.com> [Wed, 06 Sep 2017 21:23:38 -0700] rev 34275
blackbox: unindent a try block The try block is no longer necessary. Differential Revision: https://phab.mercurial-scm.org/D654
Mon, 18 Sep 2017 15:56:08 -0700 blackbox: simplify ui states
Jun Wu <quark@fb.com> [Mon, 18 Sep 2017 15:56:08 -0700] rev 34274
blackbox: simplify ui states It seems cleaner to just remove `_partialinit`, `copy`, `__init__`. This patch makes it so by using `getattr` in `log` so those fields do not need to be existed. Differential Revision: https://phab.mercurial-scm.org/D652
Fri, 01 Sep 2017 19:42:09 -0700 revset: move weight information to predicate
Jun Wu <quark@fb.com> [Fri, 01 Sep 2017 19:42:09 -0700] rev 34273
revset: move weight information to predicate Previously revset weight is hardcoded and cannot be modified. This patch moves it to predicate so newly registered revsets could define their weight to properly give static optimization some hint. Differential Revision: https://phab.mercurial-scm.org/D657
Fri, 01 Sep 2017 19:30:40 -0700 revset: remove "small" argument from "_optimize"
Jun Wu <quark@fb.com> [Fri, 01 Sep 2017 19:30:40 -0700] rev 34272
revset: remove "small" argument from "_optimize" `_optimize` calculates weights of subtrees. "small" affects some weight calculation (either 1 or 0.5). The weights are now only useful in `and` optimization where we might swap two arguments and use `andsmally`. In the real world, it seems unlikely that revsets with weight of 0.5 or 1 matters the `and` order optimization. I think the important thing is to get weights of expensive revsets right (ex. `contains`). This patch removes the `small` argument to simplify the interface. As for choosing between 0.5 vs 1, things returning a single revision (`ancestor`, `string`) has a weight of 0.5. Things returning multiple revisions returns 1. This could be sometimes useful in the `andsmally` optimization, ex. (((:)-2) & expensive()) & ((1-2) & expensive()) ^^^ ^ ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ weight=1 weight=0.5 would have an `andsmally` optimization so `1-2` gets executed first, which seems to be desirable. Differential Revision: https://phab.mercurial-scm.org/D656
Mon, 18 Sep 2017 13:37:00 -0400 ui: fix progress debug log format strings to work on Python 3
Augie Fackler <augie@google.com> [Mon, 18 Sep 2017 13:37:00 -0400] rev 34271
ui: fix progress debug log format strings to work on Python 3
Mon, 18 Sep 2017 13:37:32 -0400 tests: update `f` helper script to work on Python 3
Augie Fackler <augie@google.com> [Mon, 18 Sep 2017 13:37:32 -0400] rev 34270
tests: update `f` helper script to work on Python 3
Tue, 19 Sep 2017 00:09:37 -0400 tests: fix run-tests XML reporting on Python 3
Augie Fackler <augie@google.com> [Tue, 19 Sep 2017 00:09:37 -0400] rev 34269
tests: fix run-tests XML reporting on Python 3 cdatasafe wants to work in terms of bytes, but of course we have a unicode. Easy to work around, especially since we know we'll get utf-8 at the end.
Tue, 19 Sep 2017 00:08:52 -0400 tests: convert bisect support regex to binary
Augie Fackler <augie@google.com> [Tue, 19 Sep 2017 00:08:52 -0400] rev 34268
tests: convert bisect support regex to binary The bisection feature of run-tests still fails tests with this because bisect itself doesn't work yet. We'll get there.
Tue, 19 Sep 2017 00:08:12 -0400 tests: decode bytes path to hg command before hitting with shellquote
Augie Fackler <augie@google.com> [Tue, 19 Sep 2017 00:08:12 -0400] rev 34267
tests: decode bytes path to hg command before hitting with shellquote
Tue, 19 Sep 2017 00:07:51 -0400 tests: fix test-is-whitelisted check in run-tests
Augie Fackler <augie@google.com> [Tue, 19 Sep 2017 00:07:51 -0400] rev 34266
tests: fix test-is-whitelisted check in run-tests Again, look for bytes in a set of bytes objects.
Tue, 19 Sep 2017 00:07:23 -0400 tests: fix run-tests "slow test" check
Augie Fackler <augie@google.com> [Tue, 19 Sep 2017 00:07:23 -0400] rev 34265
tests: fix run-tests "slow test" check Look for bytes in a set of bytes objects.
Tue, 19 Sep 2017 00:06:57 -0400 tests: fix run-tests default values in Test constructor
Augie Fackler <augie@google.com> [Tue, 19 Sep 2017 00:06:57 -0400] rev 34264
tests: fix run-tests default values in Test constructor As far as I can tell, default values are evaluated far earlier on Python 3.6 than 2.7, meaning we've got to be more careful about when we read the defaults dictionary for the kwarg defaults. Sigh. With this change, test-run-tests.t is significantly less of a mess under 3.6.
Mon, 18 Sep 2017 17:11:32 -0400 tests: add support for listing tests to run in a file
Augie Fackler <augie@google.com> [Mon, 18 Sep 2017 17:11:32 -0400] rev 34263
tests: add support for listing tests to run in a file This will make it easier for us to run the tests in the python3 whitelist in buildbot.
Mon, 18 Sep 2017 15:34:50 -0400 python3: remove test-update-dest.t from the whitelist
Augie Fackler <augie@google.com> [Mon, 18 Sep 2017 15:34:50 -0400] rev 34262
python3: remove test-update-dest.t from the whitelist I've poked at this on and off several times, and I can't figure out what regressed. Let's kick this out of the whitelist for now so that we can get the *rest* of our progress covered by the buildbots.
Thu, 14 Sep 2017 10:20:05 -0700 bundle2: move part processing to a separate function
Durham Goode <durham@fb.com> [Thu, 14 Sep 2017 10:20:05 -0700] rev 34261
bundle2: move part processing to a separate function Now that the part processing loop is tiny, let's move it to a separate function. This will allow extensions to completely replace the part processing logic, without having to replace the overall bundle processing logic or the stream maintenance logic. This will be useful for the infinitepush extension, so it can completely take over receiving a bundle and rerouting it to a side store. This will also make it easier to upstream the infinitepush functionality later. Differential Revision: https://phab.mercurial-scm.org/D709
Thu, 14 Sep 2017 10:20:05 -0700 bundle2: remove unnecessary try finally
Durham Goode <durham@fb.com> [Thu, 14 Sep 2017 10:20:05 -0700] rev 34260
bundle2: remove unnecessary try finally This is no longer needed. Differential Revision: https://phab.mercurial-scm.org/D708
Thu, 14 Sep 2017 10:20:05 -0700 bundle2: move handler validation out of processpart
Durham Goode <durham@fb.com> [Thu, 14 Sep 2017 10:20:05 -0700] rev 34259
bundle2: move handler validation out of processpart As part of refactoring bundle part processing let's move handler validation to its own function. Differential Revision: https://phab.mercurial-scm.org/D707
Thu, 14 Sep 2017 10:20:05 -0700 bundle2: move processpart stream maintenance into part iterator
Durham Goode <durham@fb.com> [Thu, 14 Sep 2017 10:20:05 -0700] rev 34258
bundle2: move processpart stream maintenance into part iterator The processpart function also did some stream maintenance, so let's move it to the part iterator as well, as part of moving all part iteration logic into the class. There is one place processpart is called outside of the normal loop, so we manually handle the seek there. The now-empty try/finally will be removed in a later patch, for ease of review. Differential Revision: https://phab.mercurial-scm.org/D706
Mon, 18 Sep 2017 14:12:20 -0500 merge with stable
Kevin Bullock <kbullock+mercurial@ringworld.org> [Mon, 18 Sep 2017 14:12:20 -0500] rev 34257
merge with stable
Sun, 17 Sep 2017 12:39:53 +0900 py3: convert system strings to bytes in doctest of formatter.py
Yuya Nishihara <yuya@tcha.org> [Sun, 17 Sep 2017 12:39:53 +0900] rev 34256
py3: convert system strings to bytes in doctest of formatter.py
Sun, 17 Sep 2017 12:39:14 +0900 py3: rewrite stdout hack of doctest by using ui.pushbuffer()
Yuya Nishihara <yuya@tcha.org> [Sun, 17 Sep 2017 12:39:14 +0900] rev 34255
py3: rewrite stdout hack of doctest by using ui.pushbuffer() We can't use pycompat.stdout here because the doctest runner replaces sys.stdout with a string buffer.
Sun, 17 Sep 2017 12:26:42 +0900 py3: use bytes os.sep in doctest of pathutil.py
Yuya Nishihara <yuya@tcha.org> [Sun, 17 Sep 2017 12:26:42 +0900] rev 34254
py3: use bytes os.sep in doctest of pathutil.py
Sun, 17 Sep 2017 12:23:16 +0900 py3: fix doctests in patch.py to be compatible with Python 3
Yuya Nishihara <yuya@tcha.org> [Sun, 17 Sep 2017 12:23:16 +0900] rev 34253
py3: fix doctests in patch.py to be compatible with Python 3 We were lucky that parsepatch() could concatenate a character slice as if it were a list of chunks.
Sun, 17 Sep 2017 12:20:35 +0900 py3: stop using bytes[n] in patch.py
Yuya Nishihara <yuya@tcha.org> [Sun, 17 Sep 2017 12:20:35 +0900] rev 34252
py3: stop using bytes[n] in patch.py
Sun, 03 Sep 2017 16:45:33 +0900 error: move patch.PatchError so it can easily implement __bytes__ (API)
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Sep 2017 16:45:33 +0900] rev 34251
error: move patch.PatchError so it can easily implement __bytes__ (API)
Fri, 15 Sep 2017 00:01:57 -0700 templater: extract shortest() logic from template function
Martin von Zweigbergk <martinvonz@google.com> [Fri, 15 Sep 2017 00:01:57 -0700] rev 34250
templater: extract shortest() logic from template function It can be useful for extensions to be able to produce the shortest unambiguous hash (including the in-tree "show" extension). That logic is currently inside the shortest() template function. Let's move it out of the templater. I've put it on revlog since it's closely related to revlog._partialmatch. We may also want a convenience method on context, but I'll leave that for a later patch. Differential Revision: https://phab.mercurial-scm.org/D724
Fri, 15 Sep 2017 18:37:29 -0400 bundle2: raise a more helpful error if building a bundle part header fails
Augie Fackler <raf@durin42.com> [Fri, 15 Sep 2017 18:37:29 -0400] rev 34249
bundle2: raise a more helpful error if building a bundle part header fails I've tripped on this several times now, and am tired of debugging. Now the header parts are part of the error message when the ''.join() fails, which makes debugging obvious.
Fri, 15 Sep 2017 18:57:50 +0200 hgwebdir: read 'web.template' untrusted
Boris Feld <boris.feld@octobus.net> [Fri, 15 Sep 2017 18:57:50 +0200] rev 34248
hgwebdir: read 'web.template' untrusted The 'hgweb_mod.py' version of this read it untrusted. For consistency we align the two versions of this code.
Fri, 30 Jun 2017 03:45:53 +0200 configitems: register the 'web.templates' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:45:53 +0200] rev 34247
configitems: register the 'web.templates' config
Fri, 30 Jun 2017 03:45:52 +0200 configitems: register the 'web.style' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:45:52 +0200] rev 34246
configitems: register the 'web.style' config
Fri, 30 Jun 2017 03:45:51 +0200 configitems: register the 'web.stripes' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:45:51 +0200] rev 34245
configitems: register the 'web.stripes' config
Fri, 30 Jun 2017 03:45:50 +0200 configitems: register the 'web.refreshinterval' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:45:50 +0200] rev 34244
configitems: register the 'web.refreshinterval' config
Fri, 30 Jun 2017 03:45:49 +0200 configitems: register the 'web.prefix' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:45:49 +0200] rev 34243
configitems: register the 'web.prefix' config
Fri, 30 Jun 2017 03:45:48 +0200 configitems: register the 'web.port' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:45:48 +0200] rev 34242
configitems: register the 'web.port' config
Fri, 30 Jun 2017 03:45:47 +0200 configitems: register the 'web.ipv6' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:45:47 +0200] rev 34241
configitems: register the 'web.ipv6' config
Fri, 30 Jun 2017 03:45:45 +0200 configitems: register the 'web.errorlog' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:45:45 +0200] rev 34240
configitems: register the 'web.errorlog' config
Fri, 30 Jun 2017 03:45:44 +0200 configitems: register the 'web.encoding' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:45:44 +0200] rev 34239
configitems: register the 'web.encoding' config
Fri, 30 Jun 2017 03:45:43 +0200 configitems: register the 'web.description' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:45:43 +0200] rev 34238
configitems: register the 'web.description' config
Fri, 30 Jun 2017 03:45:42 +0200 configitems: register the 'web.descend' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:45:42 +0200] rev 34237
configitems: register the 'web.descend' config
Fri, 30 Jun 2017 03:45:41 +0200 configitems: register the 'web.deny_read' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:45:41 +0200] rev 34236
configitems: register the 'web.deny_read' config
Fri, 30 Jun 2017 03:45:40 +0200 configitems: register the 'web.csp' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:45:40 +0200] rev 34235
configitems: register the 'web.csp' config
Fri, 30 Jun 2017 03:45:38 +0200 configitems: register the 'web.collapse' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:45:38 +0200] rev 34234
configitems: register the 'web.collapse' config
Fri, 30 Jun 2017 03:45:37 +0200 configitems: register the 'web.certificate' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:45:37 +0200] rev 34233
configitems: register the 'web.certificate' config
Fri, 30 Jun 2017 03:45:36 +0200 configitems: register the 'web.cacerts' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:45:36 +0200] rev 34232
configitems: register the 'web.cacerts' config
Fri, 30 Jun 2017 03:45:35 +0200 configitems: register the 'web.baseurl' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:45:35 +0200] rev 34231
configitems: register the 'web.baseurl' config
Fri, 30 Jun 2017 03:45:34 +0200 configitems: register the 'web.allow_read' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:45:34 +0200] rev 34230
configitems: register the 'web.allow_read' config
Fri, 30 Jun 2017 03:45:33 +0200 configitems: register the 'web.allow_archive' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:45:33 +0200] rev 34229
configitems: register the 'web.allow_archive' config
Fri, 30 Jun 2017 03:45:32 +0200 configitems: register the 'web.address' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:45:32 +0200] rev 34228
configitems: register the 'web.address' config
Fri, 30 Jun 2017 03:45:31 +0200 configitems: register the 'web.accesslog' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:45:31 +0200] rev 34227
configitems: register the 'web.accesslog' config
Fri, 15 Sep 2017 19:21:08 +0200 web: use '_unset' default value for proxy config method
Boris Feld <boris.feld@octobus.net> [Fri, 15 Sep 2017 19:21:08 +0200] rev 34226
web: use '_unset' default value for proxy config method This special value is needed to make sure registered default value are taken in account.
Sat, 16 Sep 2017 11:48:05 -0400 tests: use int() instead of long() in test-pathencode.py
Augie Fackler <raf@durin42.com> [Sat, 16 Sep 2017 11:48:05 -0400] rev 34225
tests: use int() instead of long() in test-pathencode.py
Sat, 16 Sep 2017 11:47:53 -0400 tests: add xrange alias for test-pathencode.py
Augie Fackler <raf@durin42.com> [Sat, 16 Sep 2017 11:47:53 -0400] rev 34224
tests: add xrange alias for test-pathencode.py
Sat, 16 Sep 2017 11:33:16 -0400 python3: another 3 tests whitelisted
Augie Fackler <raf@durin42.com> [Sat, 16 Sep 2017 11:33:16 -0400] rev 34223
python3: another 3 tests whitelisted
Tue, 22 Aug 2017 21:22:34 -0400 repair: reliably obtain bytestr of node ids
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 21:22:34 -0400] rev 34222
repair: reliably obtain bytestr of node ids
Fri, 15 Sep 2017 18:38:36 -0400 bundles: turn nbchanges int into a bytestr using pycompat.bytestr
Augie Fackler <raf@durin42.com> [Fri, 15 Sep 2017 18:38:36 -0400] rev 34221
bundles: turn nbchanges int into a bytestr using pycompat.bytestr Fixes some python 3 failures.
Sat, 16 Sep 2017 11:09:08 -0400 exchange: hit opargs with pycompat.strkwargs before **-ing it
Augie Fackler <raf@durin42.com> [Sat, 16 Sep 2017 11:09:08 -0400] rev 34220
exchange: hit opargs with pycompat.strkwargs before **-ing it Fixes Python 3 problems.
Fri, 15 Sep 2017 23:58:45 +0900 revlog: update signature of dummy addgroup() in bundlerepo and unionrepo
Yuya Nishihara <yuya@tcha.org> [Fri, 15 Sep 2017 23:58:45 +0900] rev 34219
revlog: update signature of dummy addgroup() in bundlerepo and unionrepo Per c8b6ed51386b, 2f5c45fe3a3b and 00e3f909907f.
Sat, 16 Sep 2017 22:55:48 +0900 py3: use 'surrogatepass' error handler to process U+DCxx transparently
Yuya Nishihara <yuya@tcha.org> [Sat, 16 Sep 2017 22:55:48 +0900] rev 34218
py3: use 'surrogatepass' error handler to process U+DCxx transparently It's disallowed by default on Python 3. https://docs.python.org/3/library/codecs.html#error-handlers
Sat, 16 Sep 2017 22:42:19 +0900 py3: don't pass bytes to array.array()
Yuya Nishihara <yuya@tcha.org> [Sat, 16 Sep 2017 22:42:19 +0900] rev 34217
py3: don't pass bytes to array.array()
Sun, 03 Sep 2017 15:54:29 +0900 py3: wrap bytes in encoding.from/toutf8b() with bytestr
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Sep 2017 15:54:29 +0900] rev 34216
py3: wrap bytes in encoding.from/toutf8b() with bytestr
Sun, 03 Sep 2017 17:28:47 +0900 py3: iterate bytes as a byte string in store.lowerencode()
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Sep 2017 17:28:47 +0900] rev 34215
py3: iterate bytes as a byte string in store.lowerencode()
Sun, 03 Sep 2017 17:27:50 +0900 py3: use bytechr() in store._buildlowerencodefun()
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Sep 2017 17:27:50 +0900] rev 34214
py3: use bytechr() in store._buildlowerencodefun()
Sun, 03 Sep 2017 17:26:10 +0900 store: give name to lowerencode function
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Sep 2017 17:26:10 +0900] rev 34213
store: give name to lowerencode function lambda function isn't easy to track in traceback.
Sun, 03 Sep 2017 15:32:45 +0900 py3: iterate bytes as a byte string in dagparser.py
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Sep 2017 15:32:45 +0900] rev 34212
py3: iterate bytes as a byte string in dagparser.py
(0) -30000 -10000 -3000 -1000 -300 -100 -64 +64 +100 +300 +1000 +3000 +10000 tip