Yuya Nishihara <yuya@tcha.org> [Sat, 08 Oct 2016 17:22:07 +0200] rev 30094
py3: make check-py3-compat.py load modules in standard manner
Otherwise no code transformation would be applied to the modules which are
imported only by imp.load_module().
This change means modules are imported from PYTHONPATH, not from the paths
given by command arguments. This isn't always correct, but seems acceptable.
Yuya Nishihara <yuya@tcha.org> [Sun, 09 Oct 2016 08:31:39 +0200] rev 30093
py3: include module filename in check-py3-compat.py output
This change is intended to reduce noises in the next patch.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 08 Oct 2016 19:16:50 +0200] rev 30092
util: document we want Python type mapping to be temporary
I think remapping Python C API types and functions is not a great
approach. I'd prefer this whole #ifdef disappeared. Add a comment
so we don't forget about it.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 08 Oct 2016 19:02:44 +0200] rev 30091
util: define PyInt_Type on Python 3
util.h attempts to wallpaper over C API differences between Python 2
and 3. This is not the correct approach where performance is critical.
But it is good enough for the current state of the Python 3 port.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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
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.