Tue, 29 May 2018 18:01:35 +0200 shelve: use full hash in tests
Boris Feld <boris.feld@octobus.net> [Tue, 29 May 2018 18:01:35 +0200] rev 38337
shelve: use full hash in tests Using revision number is fragile. Moving to full hash to help with further development. Differential Revision: https://phab.mercurial-scm.org/D3685
Thu, 14 Jun 2018 12:35:04 -0400 phabricator: preserve the phase when amending in the Differential fields
Matt Harbison <matt_harbison@yahoo.com> [Thu, 14 Jun 2018 12:35:04 -0400] rev 38336
phabricator: preserve the phase when amending in the Differential fields I have no idea if it's better to change scmutil.cleanupnodes() so that it has the option to either apply a specific phase (e.g. for various --secret switches) or carry over the phase of the old node. The benefit would be that the caller doesn't have to remember to do this. The con is maybe inefficiency? I wrote this up as issue5918. I'm leaving that open since Yuya flagged it as an API bug. Since most other callers already do this, it's the simplest fix. (It's not obvious that `split`, `fix` and `rebase` are doing this, but there is test coverage for `fix` and `rebase`, and experimenting with `split` shows it does the right thing.)
Fri, 15 Jun 2018 22:16:58 +0900 manifest: fix possible SEGV caused by uninitialized lazymanifest fields stable
Yuya Nishihara <yuya@tcha.org> [Fri, 15 Jun 2018 22:16:58 +0900] rev 38335
manifest: fix possible SEGV caused by uninitialized lazymanifest fields Before, uninitialized self->pydata would be passed to lazymanifest_dealloc() on OOM, and Py_DECREF(self->pydata) would crash if we were unlucky. It's still wrong to do malloc() thingy in tp_init because __init__() may be called more than once [1], but I don't want to go a step further in stable branch. [1]: https://docs.python.org/2/c-api/typeobj.html#c.PyTypeObject.tp_new "The tp_new function should ... do only as much further initialization as is absolutely necessary. Initialization that can safely be ignored or repeated should be placed in the tp_init handler."
Fri, 15 Jun 2018 10:14:32 -0400 tests: replace `echo -n` with `printf` per check-code stable
Augie Fackler <augie@google.com> [Fri, 15 Jun 2018 10:14:32 -0400] rev 38334
tests: replace `echo -n` with `printf` per check-code Differential Revision: https://phab.mercurial-scm.org/D3749
Thu, 14 Jun 2018 14:04:26 -0700 crecord: fix line number in hunk header (issue5917) stable
Jun Wu <quark@fb.com> [Thu, 14 Jun 2018 14:04:26 -0700] rev 38333
crecord: fix line number in hunk header (issue5917) `@@ -1,1 +-1,0 @@` is not a valid patch hunk header. Change it to `@@ -1,1 +0,0 @@`. Differential Revision: https://phab.mercurial-scm.org/D3737
Sat, 16 Jun 2018 19:31:07 +0900 py3: ditch email.parser.BytesParser which appears to be plain crap
Yuya Nishihara <yuya@tcha.org> [Sat, 16 Jun 2018 19:31:07 +0900] rev 38332
py3: ditch email.parser.BytesParser which appears to be plain crap As I said before, BytesParser is a thin wrapper over the unicode Parser, and it's too thin to return bytes back. Today, I found it does normalize newline characters to '\n's thanks to the careless use of TextIOWrapper. So, this patch replaces BytesParser with Parser + TextIOWrapper, and fix newline handling. Since I don't know what's the least bad encoding strategy here, I just copied it from BytesParser. I've moved new parse() function from pycompat, as it is no longer a trivial wrapper.
Sat, 16 Jun 2018 17:56:37 +0900 py3: remove b'' from error message of disallowed filename
Yuya Nishihara <yuya@tcha.org> [Sat, 16 Jun 2018 17:56:37 +0900] rev 38331
py3: remove b'' from error message of disallowed filename
Sat, 16 Jun 2018 17:54:29 +0900 py3: remove b'' from output of test-eol.t
Yuya Nishihara <yuya@tcha.org> [Sat, 16 Jun 2018 17:54:29 +0900] rev 38330
py3: remove b'' from output of test-eol.t
Sat, 16 Jun 2018 17:53:51 +0900 py3: replace s[-1] with s.endswith() in eol handling
Yuya Nishihara <yuya@tcha.org> [Sat, 16 Jun 2018 17:53:51 +0900] rev 38329
py3: replace s[-1] with s.endswith() in eol handling
Sat, 16 Jun 2018 17:36:44 +0900 py3: fix loop over byte string in wireprotov1peer
Yuya Nishihara <yuya@tcha.org> [Sat, 16 Jun 2018 17:36:44 +0900] rev 38328
py3: fix loop over byte string in wireprotov1peer Before, it would always return [True]s on Python 3 because list(b"0") == [48].
(0) -30000 -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 tip