Tue, 04 Oct 2016 20:49:59 +0800 zsh_completion: update some option usage flags ('+', '=' and ':')
Anton Shestakov <av6@dwimlabs.net> [Tue, 04 Oct 2016 20:49:59 +0800] rev 30080
zsh_completion: update some option usage flags ('+', '=' and ':') Here are the relevant symbol descriptions from [0] optspec:... The colon indicates handling for one or more arguments to the option; if it is not present, the option is assumed to take no arguments. -optname+ The first argument may appear immediately after optname in the same word, or may appear as a separate word after the option. For example, ‘-foo+:...’ specifies that the completed option and argument will look like either ‘-fooarg’ or ‘-foo arg’. -optname= The argument may appear as the next word, or in same word as the option name provided that it is separated from it by an equals sign, for example ‘-foo=arg’ or ‘-foo arg’. There are 3 types of changes in this patch: - addition of '=': means that '--repository ~/foo' can now also be spelled as '--reporitory=~/foo' - addition of '+': means '-r 0' can now also be spelled as '-r0' - removal of '+', '=' and ':': means that '-u|--untrusted' doesn't take any arguments, so '-uq' is definitely '-u -q' and not '--untrusted=q' Occasionally, ':' had to be added together with '=' and '+'. This patch is mostly just making zsh_completion file look more like zsh's own hg completion file so that we can more easily take improvements from them or send patches to them. Some context for this patch from zsh project: [2] [3]. [0]: http://zsh.sourceforge.net/Doc/Release/Completion-System.html [1]: https://sourceforge.net/p/zsh/code/ci/master/tree/Completion/Unix/Command/_hg [2]: https://sourceforge.net/p/zsh/code/ci/92584634d3d39e9ca64475ae5af8010e2ccebe24/ [3]: http://www.zsh.org/mla/workers/2015/msg02551.html
Sat, 08 Oct 2016 18:04:57 +0200 manifest: drop Py_TPFLAGS_HAVE_SEQUENCE_IN from tp_flags in Python 3
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 08 Oct 2016 18:04:57 +0200] rev 30079
manifest: drop Py_TPFLAGS_HAVE_SEQUENCE_IN from tp_flags in Python 3 This flag disappeared in Python 3. It is only necessary in Python 2, apparently.
Sat, 08 Oct 2016 05:26:58 -0700 import: abort instead of crashing when copy source does not exist (issue5375)
Ryan McElroy <rmcelroy@fb.com> [Sat, 08 Oct 2016 05:26:58 -0700] rev 30078
import: abort instead of crashing when copy source does not exist (issue5375) Previously, when a patch contained a move or copy from a source that did not exist, `hg import` would crash. This patch changes import to raise a PatchError with an explanantion of what is wrong with the patch to avoid the stack trace and bad user experience.
Sat, 08 Oct 2016 08:54:05 -0700 py3: make encodefun in store.py compatible with py3k
Mateusz Kwapich <mitrandir@fb.com> [Sat, 08 Oct 2016 08:54:05 -0700] rev 30077
py3: make encodefun in store.py compatible with py3k This ensures that the filename encoding functions always map bytestrings to bytestrings regardless of python version.
Sat, 08 Oct 2016 08:45:28 -0700 py3: make the string unicode so its iterable in py3k
Mateusz Kwapich <mitrandir@fb.com> [Sat, 08 Oct 2016 08:45:28 -0700] rev 30076
py3: make the string unicode so its iterable in py3k
Mon, 03 Oct 2016 13:29:59 +0200 copies: don't record divergence for files needing no merge
Gábor Stefanik <gabor.stefanik@nng.com> [Mon, 03 Oct 2016 13:29:59 +0200] rev 30075
copies: don't record divergence for files needing no merge This is left over from when _checkcopies was factored out from mergecopies. The 2nd break has "of = None" before it, so it's a functionally equivalent change. The 1st one, however, causes a divergence to be recorded when a file has been renamed, but there is nothing to be merged to it. This is currently harmless, since the extra divergence is simply ignored later. However, the new _checkcopies introduced in the rest of this series does more than just record a divergence after completing the main loop, and it's important that the "post-processing" stage is really skipped for no-merge-needed renames.
Sat, 08 Oct 2016 19:32:54 +0900 hgweb: avoid line wrap between revision and annotate-info (issue5398)
Tooru Fujisawa <arai.unmht@gmail.com> [Sat, 08 Oct 2016 19:32:54 +0900] rev 30074
hgweb: avoid line wrap between revision and annotate-info (issue5398) Add white-space: nowrap to td.annotate to avoid wrapping div.annotate-info into next line if there is revision number in the same cell, as it is hard to mouse over div.annotate-info if it's wrapped into next line.
Sat, 08 Oct 2016 16:10:58 +0200 py3: make format strings unicodes and not bytes
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 08 Oct 2016 16:10:58 +0200] rev 30073
py3: make format strings unicodes and not bytes Fixes issues on Python 3, wherein docstrings are unicodes. Shouldn't break anything on Python 2.
Fri, 07 Oct 2016 17:30:11 +0200 mail: handle renamed email.Header
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 07 Oct 2016 17:30:11 +0200] rev 30072
mail: handle renamed email.Header We are still using email.Header which was renamed to email.header back in Python 2.5. References: https://hg.python.org/cpython/file/2.4/Lib/email and https://hg.python.org/cpython/file/2.5/Lib/email
Fri, 07 Oct 2016 08:32:40 -0400 revset: build _syminitletters from a saner source: the string module
Augie Fackler <augie@google.com> [Fri, 07 Oct 2016 08:32:40 -0400] rev 30071
revset: build _syminitletters from a saner source: the string module For now, these sets will be unicode characters in Python 3, which is probably wrong, but it un-blocks importing the module so we can get further along. In the future we'll have to come up with a reasonable encoding strategy for revsets in Python 3. This patch was originally pair-programmed with Martijn.
Thu, 11 Aug 2016 15:05:17 +0200 mq: release lock after transaction in qrefresh
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 11 Aug 2016 15:05:17 +0200] rev 30070
mq: release lock after transaction in qrefresh The transaction should be closed within the lock.
Thu, 11 Aug 2016 14:51:19 +0200 perf: release lock after transaction in perffncachewrite
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 11 Aug 2016 14:51:19 +0200] rev 30069
perf: release lock after transaction in perffncachewrite The transaction should be closed within the lock.
Tue, 23 Aug 2016 23:47:59 +0200 pull: grab wlock during pull
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 23 Aug 2016 23:47:59 +0200] rev 30068
pull: grab wlock during pull because pull might move bookmarks and bookmark are protected by wlock, we have to grab wlock for pull :-( This required a small upgrade of the 'lockdelay' extension used by 'test-clone.t' because the delay must apply to a single lock only.
Wed, 24 Aug 2016 04:19:11 +0200 bisect: move 'printresult' in the 'hbisect' module
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 24 Aug 2016 04:19:11 +0200] rev 30067
bisect: move 'printresult' in the 'hbisect' module The logic is already extracted into a closure. We move it into the module dedicated to bisect. A minor change is applied: the creation of the 'displayer' is kept in the main command function, it remove the needs to import 'cmdutil' in 'hbisect'. This would create an import circle otherwise.
Wed, 24 Aug 2016 04:16:07 +0200 bisect: move the 'extendrange' to the 'hbisect' module
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 24 Aug 2016 04:16:07 +0200] rev 30066
bisect: move the 'extendrange' to the 'hbisect' module We have a module ready to host any bisect logic. That logic was already isolated in a function so we just migrate it as is.
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.
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip