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 34225
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 34224
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 34223
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 34222
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 34221
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 34220
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 34219
py3: iterate bytes as a byte string in dagparser.py
Sun, 03 Sep 2017 15:28:39 +0900 py3: wrap string constants in dagparser.py with bytestr()
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Sep 2017 15:28:39 +0900] rev 34218
py3: wrap string constants in dagparser.py with bytestr()
Sun, 03 Sep 2017 15:25:50 +0900 py3: drop use of str() in dagparser.py
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Sep 2017 15:25:50 +0900] rev 34217
py3: drop use of str() in dagparser.py
Sun, 03 Sep 2017 15:22:54 +0900 dagparser: fix variable name in error message
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Sep 2017 15:22:54 +0900] rev 34216
dagparser: fix variable name in error message There's no variable named 'type'.
Sun, 03 Sep 2017 17:47:21 +0900 py3: convert function name to bytes in ui.configwith()
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Sep 2017 17:47:21 +0900] rev 34215
py3: convert function name to bytes in ui.configwith()
Wed, 23 Aug 2017 01:23:16 -0400 drawdag: port to python 3
Augie Fackler <raf@durin42.com> [Wed, 23 Aug 2017 01:23:16 -0400] rev 34214
drawdag: port to python 3
Wed, 23 Aug 2017 10:51:26 -0400 drawdag: add a couple of doctests to help with python3 porting
Augie Fackler <raf@durin42.com> [Wed, 23 Aug 2017 10:51:26 -0400] rev 34213
drawdag: add a couple of doctests to help with python3 porting
Wed, 23 Aug 2017 01:24:01 -0400 drawdag: tagsmod.tag() takes a list of names, not a single name
Augie Fackler <raf@durin42.com> [Wed, 23 Aug 2017 01:24:01 -0400] rev 34212
drawdag: tagsmod.tag() takes a list of names, not a single name We were getting lucky on Python 2 since we have only one-byte names, but on Python 3 badness was happening.
Wed, 23 Aug 2017 01:22:59 -0400 bruterebase: port to python 3
Augie Fackler <raf@durin42.com> [Wed, 23 Aug 2017 01:22:59 -0400] rev 34211
bruterebase: port to python 3
Tue, 22 Aug 2017 21:21:13 -0400 exchange: use '%d' % x instead of str(x) to encode ints
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 21:21:13 -0400] rev 34210
exchange: use '%d' % x instead of str(x) to encode ints Recommended by Yuya instead of using pycompat.bytestr() in this case.
Fri, 15 Sep 2017 19:44:32 -0400 posix: always pass a native str to unicodedata.normalize's first arg
Augie Fackler <raf@durin42.com> [Fri, 15 Sep 2017 19:44:32 -0400] rev 34209
posix: always pass a native str to unicodedata.normalize's first arg
Fri, 15 Sep 2017 19:44:05 -0400 posix: use slicing to grab a single byte out of a bytes in HFS+ normcase code
Augie Fackler <raf@durin42.com> [Fri, 15 Sep 2017 19:44:05 -0400] rev 34208
posix: use slicing to grab a single byte out of a bytes in HFS+ normcase code
Fri, 15 Sep 2017 19:43:32 -0400 encoding: ensure getutf8char always returns a bytestr, never an int
Augie Fackler <raf@durin42.com> [Fri, 15 Sep 2017 19:43:32 -0400] rev 34207
encoding: ensure getutf8char always returns a bytestr, never an int
Fri, 15 Sep 2017 19:43:02 -0400 posix: fix HFS+ normcase doctest to produce valid bytes literals in Python 3
Augie Fackler <raf@durin42.com> [Fri, 15 Sep 2017 19:43:02 -0400] rev 34206
posix: fix HFS+ normcase doctest to produce valid bytes literals in Python 3 We were previously getting lucky on Python 2.
Fri, 15 Sep 2017 22:08:25 -0400 tests: add and remove some (glob) markers
Augie Fackler <augie@google.com> [Fri, 15 Sep 2017 22:08:25 -0400] rev 34205
tests: add and remove some (glob) markers I have no idea if these changes are reasonable, but they look like they'd help on the Windows buildbot.
Thu, 24 Aug 2017 22:55:56 +0530 uncommit: move fb-extension to core which uncommits a changeset
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 24 Aug 2017 22:55:56 +0530] rev 34204
uncommit: move fb-extension to core which uncommits a changeset uncommit extension in fb-hgext adds a uncommit command which by default uncommits a changeset and move all the changes to the working directory. If file names are passed, uncommit moves the changes from those files to the working directory and left the changeset with remaining committed files. The uncommit extension in fb-hgext does not creates an empty commit like the one in evolve extension unless user has specified ui.alllowemptycommit to True. The test file added is a combination of tests from test-uncommit.t, test-uncommit-merge.t and test-uncommit-bookmark.t from fb-hgext. .. feature:: A new uncommit extension which provides `hg uncommit` using which one can uncommit part or all of the changeset. This command undoes the effect of a local commit, returning the affected files to their uncommitted state. Differential Revision: https://phab.mercurial-scm.org/D529
Wed, 13 Sep 2017 21:15:46 -0700 show: use consistent (and possibly shorter) node lengths
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 13 Sep 2017 21:15:46 -0700] rev 34203
show: use consistent (and possibly shorter) node lengths `hg show` makes heavy use of shortest() to limit the length of the node hash. For the "stack" and "work" views, you are often looking at multiple lines of similar output for "lines" of work. It is visually appeasing for things to vertically align. A naive use of {shortest(node, N)} could result in variable length nodes and for the first character of the description to vary by a column or two. We implement a function to determine the longest shortest prefix for a set of revisions. The new function is used to determine the printed node length for all `hg show` views. .. feature:: show: use consistent node length in views Our previous shortest node length of 5 was arbitrarily chosen. shortest() already does the work of ensuring that a partial node isn't ambiguous with an integer revision, which is our primary risk of a collision for very short nodes. It should be safe to go with the shortest node possible. Existing code is also optimized to handle nodes as short as 4. So, we decrease the minimum hash length from 5 to 4. We also add a test demonstrating that prefix collisions increase the node length. .. feature:: show: decrease minimum displayed hash length from 5 to 4 Differential Revision: https://phab.mercurial-scm.org/D558
Thu, 03 Aug 2017 21:51:34 -0700 show: pass the minimum length for nodes as a template keyword
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 03 Aug 2017 21:51:34 -0700] rev 34202
show: pass the minimum length for nodes as a template keyword This will allow us to make the displayed length configurable and/or dynamic. Differential Revision: https://phab.mercurial-scm.org/D556
Thu, 03 Aug 2017 21:13:27 -0700 cmdutil: allow extra properties to be added to each context
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 03 Aug 2017 21:13:27 -0700] rev 34201
cmdutil: allow extra properties to be added to each context The changeset displayer allows setting extra keywords to be available to the templating layer. This patch adds an argument to displaygraph() to pass a dict of extra properties to be available to every changeset. Differential Revision: https://phab.mercurial-scm.org/D555
Thu, 14 Sep 2017 09:41:22 -0700 dirstate: perform transactions with _map using single call, where possible
Michael Bolin <mbolin@fb.com> [Thu, 14 Sep 2017 09:41:22 -0700] rev 34200
dirstate: perform transactions with _map using single call, where possible This is in the same style as https://phab.mercurial-scm.org/D493. In general, this replaces patterns such as: ``` f in self._map: entry = self._map[f] ``` with: ``` entry = self._map.get(f): if entry is not None: # use entry ``` Test Plan: `make tests` Differential Revision: https://phab.mercurial-scm.org/D663
Tue, 05 Sep 2017 00:34:13 +0200 extensions: register config item early
Boris Feld <boris.feld@octobus.net> [Tue, 05 Sep 2017 00:34:13 +0200] rev 34199
extensions: register config item early Config items are likely to be used in during extensions setup. So we much register them before that. For example this apply to the 'win32text.warn' options.
Tue, 05 Sep 2017 00:31:59 +0200 extensions: factor extra data loading out
Boris Feld <boris.feld@octobus.net> [Tue, 05 Sep 2017 00:31:59 +0200] rev 34198
extensions: factor extra data loading out Some of the extra data need to be registered earlier than they currently are (eg: config items). We first factor out the logic to registered them in a small function before reusing it in the next changeset.
Fri, 30 Jun 2017 03:45:56 +0200 configitems: register the 'win32text.warn' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:45:56 +0200] rev 34197
configitems: register the 'win32text.warn' config
Fri, 30 Jun 2017 03:43:17 +0200 configitems: register the 'mq.secret' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:17 +0200] rev 34196
configitems: register the 'mq.secret' config
Fri, 30 Jun 2017 03:43:16 +0200 configitems: register the 'mq.plain' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:16 +0200] rev 34195
configitems: register the 'mq.plain' config
Fri, 30 Jun 2017 03:43:15 +0200 configitems: register the 'mq.keepchanges' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:15 +0200] rev 34194
configitems: register the 'mq.keepchanges' config
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -32 +32 +50 +100 +300 +1000 +3000 +10000 tip