Fri, 07 Oct 2016 14:04:49 +0200 py3: handle multiple arguments in .encode() and .decode()
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 07 Oct 2016 14:04:49 +0200] rev 30051
py3: handle multiple arguments in .encode() and .decode() There is a case and more can be present where these functions have multiple arguments. Our transformer used to handle the first argument, so added a loop to handle more arguments if present.
Fri, 07 Oct 2016 12:13:28 +0200 py3: convert to unicode to pass into encode()
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 07 Oct 2016 12:13:28 +0200] rev 30050
py3: convert to unicode to pass into encode() encoding.encoding is bytes, we need to pass it to encode() which accepts unicodes in py3, so used pycomapt.sysstr() Also this can't be done using transformer as that only transforms the string values not variables.
Sat, 01 Oct 2016 09:55:32 +0800 templater: use "needle" and "haystack" as (meta-)variables for ifcontains()
Anton Shestakov <av6@dwimlabs.net> [Sat, 01 Oct 2016 09:55:32 +0800] rev 30049
templater: use "needle" and "haystack" as (meta-)variables for ifcontains() It wasn't immediately clear if it's supposed to look for "search" in "thing" or "thing" in "search".
Mon, 03 Oct 2016 13:24:56 +0200 copies: mark checkcopies as internal with the _ prefix
Gábor Stefanik <gabor.stefanik@nng.com> [Mon, 03 Oct 2016 13:24:56 +0200] rev 30048
copies: mark checkcopies as internal with the _ prefix
Mon, 03 Oct 2016 13:23:19 +0200 copies: split u1/u2 to u1u/u2u and u1r/u2r
Gábor Stefanik <gabor.stefanik@nng.com> [Mon, 03 Oct 2016 13:23:19 +0200] rev 30047
copies: split u1/u2 to u1u/u2u and u1r/u2r These will be made different in case of grafts by another patch in this series.
Mon, 03 Oct 2016 13:18:31 +0200 copies: style fixes and add comment
Gábor Stefanik <gabor.stefanik@nng.com> [Mon, 03 Oct 2016 13:18:31 +0200] rev 30046
copies: style fixes and add comment
Mon, 03 Oct 2016 16:19:55 +0200 copies: limit is an optimization, and doesn't provide guarantees
Gábor Stefanik <gabor.stefanik@nng.com> [Mon, 03 Oct 2016 16:19:55 +0200] rev 30045
copies: limit is an optimization, and doesn't provide guarantees
Sat, 01 Oct 2016 20:20:11 +0900 revset: do not rewrite ':y' to '0:y' (issue5385)
Yuya Nishihara <yuya@tcha.org> [Sat, 01 Oct 2016 20:20:11 +0900] rev 30044
revset: do not rewrite ':y' to '0:y' (issue5385) That's no longer valid since the revision 0 may be hidden. Bypass validating the existence of '0' and filter it by spanset.
Sat, 01 Oct 2016 20:11:48 +0900 revset: extract function that creates range set from computed revisions
Yuya Nishihara <yuya@tcha.org> [Sat, 01 Oct 2016 20:11:48 +0900] rev 30043
revset: extract function that creates range set from computed revisions So we can pass m=0 to _makerangeset() even if the revision 0 is hidden. Hidden revisions are filtered by spanset.
Mon, 12 Sep 2016 13:37:14 +0200 lazymanifest: write a more efficient, pypy friendly version of lazymanifest
Maciej Fijalkowski <fijall@gmail.com> [Mon, 12 Sep 2016 13:37:14 +0200] rev 30042
lazymanifest: write a more efficient, pypy friendly version of lazymanifest
Sun, 02 Oct 2016 22:34:40 -0700 hg: set default path correctly when doing a clone+share (issue5378)
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 02 Oct 2016 22:34:40 -0700] rev 30041
hg: set default path correctly when doing a clone+share (issue5378) Before, if performing a clone+share from a repo that was itself using shared storage, the share code would copy paths.default from the underlying repo being shared, not from the source given by the user. This patch teaches hg.clonewithshare to resolve paths.default and pass it to share so it can be written to the hgrc accordingly.
Sat, 01 Oct 2016 14:18:58 +0100 annotate: calculate line count correctly
Jun Wu <quark@fb.com> [Sat, 01 Oct 2016 14:18:58 +0100] rev 30040
annotate: calculate line count correctly Before this patch, the "lines" function inside "annotate" returns 1 for empty text (''). This patch makes it 0. Because the function should match mdiff.splitnewlines (used by mdiff.allblocks), or s.splitlines (used at the end of the "annotate" method). Both len(mdiff.splitnewlines('')) and len(''.splitlines(True)) are 0. This issue was discovered while testing fastannotate [1]. I could not find a test case to reveal this issue. However in theory this could reduce memory usage a little bit, and avoids surprises when people are touching this area in the future. [1]: https://bitbucket.org/facebook/hg-experimental/commits/525b3b98e93a
Sun, 02 Oct 2016 05:29:17 +0530 py3: use unicode in is_frozen()
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 02 Oct 2016 05:29:17 +0530] rev 30039
py3: use unicode in is_frozen() imp.is_frozen() doesnot accepts bytes on Python 3. It does accept both bytes and strings on Python 2.
Sun, 02 Oct 2016 03:38:14 +0530 py3: use unicodes in __slots__
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 02 Oct 2016 03:38:14 +0530] rev 30038
py3: use unicodes in __slots__ __slots__ doesnot accepts bytes on Python 3.
Sat, 01 Oct 2016 15:10:38 -0400 merge with stable
Augie Fackler <augie@google.com> [Sat, 01 Oct 2016 15:10:38 -0400] rev 30037
merge with stable
Fri, 30 Sep 2016 21:38:47 +0900 url: fix crash by empty path with #fragments
Yuya Nishihara <yuya@tcha.org> [Fri, 30 Sep 2016 21:38:47 +0900] rev 30036
url: fix crash by empty path with #fragments Before, "#foo" paths made hg crash. We've moved the #fragment parsing at 64fbd0de9773, but we shouldn't set path to None too early. This patch just removes the "if not path:" block since that's checked a few lines later.
Wed, 28 Sep 2016 20:07:32 +0900 py3: make i18n use encoding.environ
Yuya Nishihara <yuya@tcha.org> [Wed, 28 Sep 2016 20:07:32 +0900] rev 30035
py3: make i18n use encoding.environ
Wed, 28 Sep 2016 20:05:34 +0900 py3: provide encoding.environ which is a dict of bytes
Yuya Nishihara <yuya@tcha.org> [Wed, 28 Sep 2016 20:05:34 +0900] rev 30034
py3: provide encoding.environ which is a dict of bytes This can't be moved to pycompat.py since we need encoding.tolocal() to build bytes dict from unicode os.environ.
Wed, 28 Sep 2016 20:39:06 +0900 py3: convert encoding name and mode to str
Yuya Nishihara <yuya@tcha.org> [Wed, 28 Sep 2016 20:39:06 +0900] rev 30033
py3: convert encoding name and mode to str Otherwise tolocal() and fromlocal() wouldn't work on Python 3. Still tolocal() can't make a valid localstr object because localstr inherits str, but it can return some object without raising exceptions. Since Py3 bytes() behaves much like bytearray() than str() of Py2, we can't simply do s/str/bytes/g. I have no good idea to handle str/bytes divergence.
Wed, 28 Sep 2016 22:32:09 +0900 pycompat: extract function that converts attribute or encoding name to str
Yuya Nishihara <yuya@tcha.org> [Wed, 28 Sep 2016 22:32:09 +0900] rev 30032
pycompat: extract function that converts attribute or encoding name to str This will be used to convert encoding.encoding to a str acceptable by Python 3 functions. The source encoding is changed to "latin-1" because encoding.encoding can have arbitrary bytes. Since valid names should consist of ASCII characters, we don't care about the mapping of non-ASCII characters so long as invalid names are distinct from valid names.
Wed, 28 Sep 2016 20:01:23 +0900 pycompat: provide 'ispy3' constant
Yuya Nishihara <yuya@tcha.org> [Wed, 28 Sep 2016 20:01:23 +0900] rev 30031
pycompat: provide 'ispy3' constant We compare version_info at several places, which seems enough to define a constant.
Fri, 30 Sep 2016 00:27:35 +0200 extensions: add a note about debug output during extensions search
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 30 Sep 2016 00:27:35 +0200] rev 30030
extensions: add a note about debug output during extensions search These messages do not show up when one use '--debug'. This is quite confusing so we clarify the situation next to the 'ui.debug' call.
Fri, 30 Sep 2016 00:25:15 +0200 extensions: fix a debug message when searching for extensions
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 30 Sep 2016 00:25:15 +0200] rev 30029
extensions: fix a debug message when searching for extensions The "next" value was wrong. When 'hgext.NAME' is not found we now search for 'hgext3rd.NAME'.
Tue, 30 Aug 2016 15:16:28 -0700 dirstate: rebuild should update dirstate properly
Mateusz Kwapich <mitrandir@fb.com> [Tue, 30 Aug 2016 15:16:28 -0700] rev 30028
dirstate: rebuild should update dirstate properly Updating dirstate by simply adding and dropping files from self._map doesn't keep the other maps updated (think: _dirs, _copymap, _foldmap, _nonormalset) thus introducing cache inconsistency. This is also affecting the debugstate tests since now we don't even try to set correct mode and mtime for the files because they are marked dirty anyway and will be checked during next status call.
Tue, 27 Sep 2016 22:09:28 -0700 histedit: avoid converting nodeid to context and back again
Martin von Zweigbergk <martinvonz@google.com> [Tue, 27 Sep 2016 22:09:28 -0700] rev 30027
histedit: avoid converting nodeid to context and back again It looks like this became unnecessary in e767f5aba810 (histedit: fix preventing strips during histedit, 2015-04-04).
Tue, 13 Sep 2016 22:58:12 -0400 help: mark boolean flags with [no-] to explain that they can be negated
Augie Fackler <augie@google.com> [Tue, 13 Sep 2016 22:58:12 -0400] rev 30026
help: mark boolean flags with [no-] to explain that they can be negated That is, help gets tweaked thus: global options ([+] can be repeated): -v --[no-]verbose enable additional output Other proposals have included: global options ([+] can be repeated, options marked [?] are boolean flags): -v --verbose[?] enable additional output and global options ([+] can be repeated, options marked [^] are boolean flags): -v --verbose[^] enable additional output which avoid the unfortunate visual noise in this patch. In this version's favor, it's consistent with what I'm used to seeing in man pages and similar documentation venues.
Tue, 27 Sep 2016 14:46:34 +0200 mdiff: remove unused parameter 'refine' from allblocks()
Philippe Pepiot <philippe.pepiot@logilab.fr> [Tue, 27 Sep 2016 14:46:34 +0200] rev 30025
mdiff: remove unused parameter 'refine' from allblocks()
Mon, 26 Sep 2016 23:28:57 +0900 demandimport: error out early on missing attribute of non package (issue5373)
Yuya Nishihara <yuya@tcha.org> [Mon, 26 Sep 2016 23:28:57 +0900] rev 30024
demandimport: error out early on missing attribute of non package (issue5373) If the parent module isn't a package, all valid attributes must be obtained from it. We can raise ImportError early if any attributes not found.
Tue, 27 Sep 2016 21:56:00 +0900 demandimport: add 'nt' to ignore list (issue5373)
Yuya Nishihara <yuya@tcha.org> [Tue, 27 Sep 2016 21:56:00 +0900] rev 30023
demandimport: add 'nt' to ignore list (issue5373) pathlib2 tries to import nt. Since it is a built-in module, there should be no performance penalty. https://github.com/mcmtroffaes/pathlib2/blob/release/2.2.0/pathlib2.py#L33
Tue, 27 Sep 2016 22:36:00 +0900 demandimport: add '_ctypes.pointer' to ignore list on PyPy
Yuya Nishihara <yuya@tcha.org> [Tue, 27 Sep 2016 22:36:00 +0900] rev 30022
demandimport: add '_ctypes.pointer' to ignore list on PyPy The pointer module is shadowed by a subsequent import. Our demand importer can't handle this because both sub modules and attributes live in the same namespace. https://bitbucket.org/pypy/pypy/src/release-5.0.1/lib_pypy/_ctypes/__init__.py#__init__.py-5
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip