Sat, 08 Oct 2016 17:51:29 +0200 parsers: return NULL from PyInit_parsers on Python 3
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 08 Oct 2016 17:51:29 +0200] rev 30090
parsers: return NULL from PyInit_parsers on Python 3 This function must return a PyObject* or the compiler complains.
Wed, 05 Oct 2016 13:45:22 +0200 mail: take --encoding and HGENCODING into account
Gábor Stefanik <gabor.stefanik@nng.com> [Wed, 05 Oct 2016 13:45:22 +0200] rev 30089
mail: take --encoding and HGENCODING into account Fall back to our encoding strategy for sending MIME text that's neither ASCII nor UTF-8.
Sat, 08 Oct 2016 02:26:48 -0700 template: provide a termwidth keyword (issue5395)
Simon Farnsworth <simonfar@fb.com> [Sat, 08 Oct 2016 02:26:48 -0700] rev 30088
template: provide a termwidth keyword (issue5395) We want to provide terminal-sized output. As a starting point, expose the terminal width to the templater for use in things like fill.
Sat, 08 Oct 2016 08:36:39 -0400 util: ensure forwarded attrs are set in globals() as sysstr
Augie Fackler <augie@google.com> [Sat, 08 Oct 2016 08:36:39 -0400] rev 30087
util: ensure forwarded attrs are set in globals() as sysstr Custom module importer strikes again.
Sat, 08 Oct 2016 08:35:43 -0400 pycompat: when setting attrs, ensure we use sysstr
Augie Fackler <augie@google.com> [Sat, 08 Oct 2016 08:35:43 -0400] rev 30086
pycompat: when setting attrs, ensure we use sysstr The custom module importer was making these bytes, so when we poked values into self.__dict__ we had bytes instead of unicode on py3 and it didn't work.
Sat, 08 Oct 2016 05:26:18 -0400 i18n: make the locale directory name the same string type as the datapath
Augie Fackler <augie@google.com> [Sat, 08 Oct 2016 05:26:18 -0400] rev 30085
i18n: make the locale directory name the same string type as the datapath
Sat, 08 Oct 2016 10:39:00 -0400 contributing: add new file with a pointer to the wiki
Augie Fackler <augie@google.com> [Sat, 08 Oct 2016 10:39:00 -0400] rev 30084
contributing: add new file with a pointer to the wiki This also includes what I consider to be the minimum set of steps someone should be able to perform even if they can't run the testsuite. Hopefully this will help new contributors know to at least run the two checkers that find most things that (in my experience) require manual cleanup.
Sat, 08 Oct 2016 15:24:26 +0200 templater: add relpath() to convert repo path to relative path (issue5394)
Yuya Nishihara <yuya@tcha.org> [Sat, 08 Oct 2016 15:24:26 +0200] rev 30083
templater: add relpath() to convert repo path to relative path (issue5394) File paths in template are repository-absolute paths. This function can be used to convert them to filesystem paths relative to cwd. This also converts '/' to '\\' on Windows.
Sat, 08 Oct 2016 19:11:19 +0200 hgweb: fix the MRO in Python 3
Martijn Pieters <mjpieters@fb.com> [Sat, 08 Oct 2016 19:11:19 +0200] rev 30082
hgweb: fix the MRO in Python 3 object should appear at the end, otherwise it tries to pre-empt the other new-style classes in the MRO, resulting in an unresolvable MRO in Py3. We still need to include object because otherwise in 2.7 we end up with an old-style class if threading is not supported, new-style if it is.
Sat, 08 Oct 2016 16:10:34 +0100 hgweb: make fctx.annotate a separated function so it could be wrapped
Jun Wu <quark@fb.com> [Sat, 08 Oct 2016 16:10:34 +0100] rev 30081
hgweb: make fctx.annotate a separated function so it could be wrapped This patch moves "fctx.annotate" used by the "annotate" webcommand, along with the diffopts to a separated function which takes a ui and a fctx. So it could be replaced by other implementations which don't want to replace the core "fctx.annotate" directly.
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.
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.
Sat, 01 Oct 2016 15:00:23 -0400 Added signature for changeset 149433e68974 stable
Augie Fackler <raf@durin42.com> [Sat, 01 Oct 2016 15:00:23 -0400] rev 30031
Added signature for changeset 149433e68974
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 30030
pycompat: provide 'ispy3' constant We compare version_info at several places, which seems enough to define a constant.
Sat, 01 Oct 2016 15:00:18 -0400 Added tag 3.9.2 for changeset 149433e68974 stable
Augie Fackler <raf@durin42.com> [Sat, 01 Oct 2016 15:00:18 -0400] rev 30029
Added tag 3.9.2 for changeset 149433e68974
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 30028
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 30027
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'.
(0) -30000 -10000 -3000 -1000 -300 -100 -64 +64 +100 +300 +1000 +3000 +10000 tip