Wed, 24 Aug 2016 04:13:53 +0200 bisect: extract the 'reset' logic into its own function
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 24 Aug 2016 04:13:53 +0200] rev 30065
bisect: extract the 'reset' logic into its own function This is part of small clean up movement. The bisect module seem more appropriate to host the bisect logic. The cleanup itself is motivated by some higher level cleanup around vfs and locking.
Wed, 24 Aug 2016 04:31:49 +0200 bisect: access the filesystem through vfs when reseting
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 24 Aug 2016 04:31:49 +0200] rev 30064
bisect: access the filesystem through vfs when reseting We have nice and shiny abstractions now.
Fri, 07 Oct 2016 17:06:55 +0200 util: remove the copypasta unquote function
Martijn Pieters <mjpieters@fb.com> [Fri, 07 Oct 2016 17:06:55 +0200] rev 30063
util: remove the copypasta unquote function The _urlunquote function was added back in the day to improve startup performance, but this version is a) not compatible with Python 3 and b) has quadratic performance issues that Python core solved eons ago. Moreover, the function moved from urllib to urlparse (cheaper to import) *and* that module is already imported into pycompat. As a result, removing this function improves perf now. Before: ! wall 0.066773 comb 0.000000 user 0.000000 sys 0.000000 (best of 100) After: ! wall 0.065990 comb 0.000000 user 0.000000 sys 0.000000 (best of 100)
Fri, 07 Oct 2016 08:51:50 -0700 merge: add conflict labels to merge command
Simon Farnsworth <simonfar@fb.com> [Fri, 07 Oct 2016 08:51:50 -0700] rev 30062
merge: add conflict labels to merge command Now that we present the conflict labels in prompts, it's useful to have better names than "local" and "other" for every command.
Wed, 05 Oct 2016 15:28:34 +0200 check-commit: allow underscore as commit topic
Mathias De Maré <mathias.de_mare@nokia.com> [Wed, 05 Oct 2016 15:28:34 +0200] rev 30061
check-commit: allow underscore as commit topic It's currently not possible to commit with a changeset topic like 'bash_completion'. This change fixes that.
Sat, 08 Oct 2016 01:25:28 -0700 merge: use labels in subrepo merge
Simon Farnsworth <simonfar@fb.com> [Sat, 08 Oct 2016 01:25:28 -0700] rev 30060
merge: use labels in subrepo merge This is the last place that doesn't respect conflict labels in merge output. Teach subrepos to use subrepo merge output too.
Fri, 07 Oct 2016 08:32:18 -0400 registrar: make format strings unicodes and not bytes
Augie Fackler <augie@google.com> [Fri, 07 Oct 2016 08:32:18 -0400] rev 30059
registrar: make format strings unicodes and not bytes Fixes issues on Python 3, wherein docstrings are unicodes. Shouldn't break anything on Python 2.
Mon, 03 Oct 2016 03:37:10 +0100 extensions: move the "import" logic out from "load"
Jun Wu <quark@fb.com> [Mon, 03 Oct 2016 03:37:10 +0100] rev 30058
extensions: move the "import" logic out from "load" The "load" method does too many things: on-demand import and check version. This patch moves the import logic out from "load" so it could be wrapped to change the import behavior, for example, chg will use it to pre-import extensions.
Fri, 07 Oct 2016 07:43:04 -0400 hgmanpage: stop using raw-unicode strings
Augie Fackler <augie@google.com> [Fri, 07 Oct 2016 07:43:04 -0400] rev 30057
hgmanpage: stop using raw-unicode strings These don't exist in Python 3, and this ends up looking a little more explicit to Martijn and me anyway.
Fri, 07 Oct 2016 08:09:23 -0400 revset: define _symletters in terms of _syminitletters
Augie Fackler <augie@google.com> [Fri, 07 Oct 2016 08:09:23 -0400] rev 30056
revset: define _symletters in terms of _syminitletters
Fri, 07 Oct 2016 08:03:30 -0400 revset: remove doubled space
Augie Fackler <augie@google.com> [Fri, 07 Oct 2016 08:03:30 -0400] rev 30055
revset: remove doubled space
Fri, 07 Oct 2016 08:58:23 -0400 util: use string.hexdigits instead of defining it ourselves
Augie Fackler <augie@google.com> [Fri, 07 Oct 2016 08:58:23 -0400] rev 30054
util: use string.hexdigits instead of defining it ourselves This resolves some Python 3 weirdness.
Fri, 07 Oct 2016 08:01:16 -0400 util: correct check of sys.version_info
Augie Fackler <augie@google.com> [Fri, 07 Oct 2016 08:01:16 -0400] rev 30053
util: correct check of sys.version_info sys.version is a string, and shouldn't be compared against a tuple for version comparisons. This was always true, so we were never disabling gc on 2.6. >>> (2, 7) >= '2.7' True >>> (2, 6) >= '2.7' True
Fri, 07 Oct 2016 15:29:57 +0200 py3: switch to .items() using transformer
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 07 Oct 2016 15:29:57 +0200] rev 30052
py3: switch to .items() using transformer .iteritems() don't exist in Python 3 world. Used the transformer to replace .iteritems() to .items()
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.
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -28 +28 +50 +100 +300 +1000 +3000 +10000 tip