Matt Mackall <mpm@selenic.com> [Wed, 02 Mar 2016 16:05:30 -0600] rev 28315
changelog: backed out changeset 86de91c56355
Matt Mackall <mpm@selenic.com> [Wed, 02 Mar 2016 12:46:54 -0600] rev 28314
changelog: backed out changeset 1778770e1982
We want to avoid leaking UTF-8 to main body of code wherever possible.
Yuya Nishihara <yuya@tcha.org> [Fri, 01 Jan 2016 22:16:25 +0900] rev 28313
dispatch: store norepo/optionalrepo/inferrepo attributes in function (API)
This can eliminate import cycles and ugly push/pop of global variables at
_checkshellalias(). Attributes of aliascmd are directly accessible.
Because norepo/optionalrepo/inferrepo lists aren't populated, extensions
examining them no longer work. That's why this patch removes these lists
to signal the API incompatibility.
This breaks 3rd-party extensions that are yet to be ported to @command
decorator.
Yuya Nishihara <yuya@tcha.org> [Sat, 09 Jan 2016 20:04:03 +0900] rev 28312
extensions: copy extra __dict__ of original function
Future patches will make @command decorator set properties such as "norepo" to
a function object. This patch makes sure these properties never be lost by
wrapcommand() or wrapfunction().
This change won't be crazy as the standard functools.wraps() copies __dict__.
Yuya Nishihara <yuya@tcha.org> [Sat, 09 Jan 2016 19:52:55 +0900] rev 28311
extensions: copy attributes to wrapper by wrapfunction()
Before this patch, new partial function "wrap" had no useful docstring. It
makes sense to copy __doc__ and __module__ as we do for wrapcommand().
Yuya Nishihara <yuya@tcha.org> [Sat, 09 Jan 2016 19:45:10 +0900] rev 28310
extensions: extract function that copies function attributes to wrapper
wrapfunction() will be changed to copy these attributes. See the next patch
for details.