Matt Harbison <matt_harbison@yahoo.com> [Sun, 28 Feb 2016 23:21:28 -0500] rev 28317
run-tests: defer leftover (?) cleanup until after all output is exhausted
Previously, after matching a single line, any contiguous subsequent lines ending
with (?) would be added to the output and removed from the expected output.
This is a problem if the subsequent test output would have matched the consumed
(?) line, because it kept the optional line and then added a duplicate without
the (?) [1]. Instead, wait until there is nothing more to match before handling
the leftovers.
[1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2016-February/080197.html
Matt Harbison <matt_harbison@yahoo.com> [Sun, 28 Feb 2016 23:16:30 -0500] rev 28316
test-run-tests: pad the failure test to preserve the run order
Test size seems to dictate the order in which the tests are run, and the next
patch will add to test-success.t.
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__.