Fri, 06 Nov 2015 12:39:06 -0500 changegroup: fix the scope of a try finally stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 06 Nov 2015 12:39:06 -0500] rev 26880
changegroup: fix the scope of a try finally The try finally is here to ensure we release the just-created transaction. Therefore we should not do half a dozen operations before actually entry the try scope.
Thu, 05 Nov 2015 17:30:10 -0600 encoding: re-escape U+DCxx characters in toutf8b input (issue4927)
Matt Mackall <mpm@selenic.com> [Thu, 05 Nov 2015 17:30:10 -0600] rev 26879
encoding: re-escape U+DCxx characters in toutf8b input (issue4927) This is the final missing piece in fully round-tripping random byte strings through UTF-8b. While this issue means that UTF-8 <-> UTF-8b isn't fully bijective, we don't expect to ever see U+DCxx codepoints in "real" UTF-8 data, so it should remain bijective in practice.
Thu, 05 Nov 2015 17:21:43 -0600 encoding: use getutf8char in toutf8b
Matt Mackall <mpm@selenic.com> [Thu, 05 Nov 2015 17:21:43 -0600] rev 26878
encoding: use getutf8char in toutf8b This correctly avoids the ambiguity of U+FFFD already present in the input and similar confusion by working a character at a time.
Thu, 05 Nov 2015 17:11:50 -0600 encoding: handle non-BMP characters in fromutf8b
Matt Mackall <mpm@selenic.com> [Thu, 05 Nov 2015 17:11:50 -0600] rev 26877
encoding: handle non-BMP characters in fromutf8b
Thu, 05 Nov 2015 17:09:00 -0600 posix: use getutf8char to handle OS X filename percent-escaping
Matt Mackall <mpm@selenic.com> [Thu, 05 Nov 2015 17:09:00 -0600] rev 26876
posix: use getutf8char to handle OS X filename percent-escaping This replaces an open-coded utf-8 parser that was ignoring subtle issues like overlong encodings.
Thu, 05 Nov 2015 16:48:46 -0600 encoding: add getutf8char helper
Matt Mackall <mpm@selenic.com> [Thu, 05 Nov 2015 16:48:46 -0600] rev 26875
encoding: add getutf8char helper This allows us to find character boundaries in byte strings when trying to do custom encodings.
Sat, 07 Nov 2015 16:03:09 -0500 unbundle: gratuitous fix white spacing "issue"
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 07 Nov 2015 16:03:09 -0500] rev 26874
unbundle: gratuitous fix white spacing "issue" We were missing one space on this block.
Sun, 01 Nov 2015 21:19:09 +0900 demandimport: fix level passed to loader of sub-modules stable
Yuya Nishihara <yuya@tcha.org> [Sun, 01 Nov 2015 21:19:09 +0900] rev 26873
demandimport: fix level passed to loader of sub-modules As the fromlist gives the names of sub-modules, they should be searched in the parent directory of the package's __init__.py, which is level=1. I got the following error by rewriting hgweb to use absolute_import, where the "mercurial" package is referenced as ".." (level=2): ValueError: Attempted relative import beyond toplevel package I know little about the import mechanism, but this change seems correct. Before this patch, the following code did import the os module with no error: from mercurial import demandimport demandimport.enable() from mercurial import os print os.name
Sat, 07 Nov 2015 17:43:20 +0900 parsers: fix width of datalen variable in fm1readmarkers stable
Yuya Nishihara <yuya@tcha.org> [Sat, 07 Nov 2015 17:43:20 +0900] rev 26872
parsers: fix width of datalen variable in fm1readmarkers Because parsers.c does not define PY_SSIZE_T_CLEAN, "s#" format requires (const char*, int), not (const char*, Py_ssize_t). https://docs.python.org/2/c-api/arg.html This error had no problem before 042344313939, where datalen wasn't used. But now fm1readmarkers() fails with "overflow in obsstore" on Python 2.6.9 (amd64) because upper bits of datalen seem to be filled with 1, making it a negative integer. This problem seems not visible on our Python 2.7 environment because upper bits happen to be filled with 0.
Thu, 05 Nov 2015 18:56:40 -0800 manifest: skip fastdelta if the change is large
Durham Goode <durham@fb.com> [Thu, 05 Nov 2015 18:56:40 -0800] rev 26871
manifest: skip fastdelta if the change is large In large repos, the existing manifest fastdelta computation (which performs a bisect on the raw manifest for every file that is changing), is excessively slow. This patch makes fastdelta fallback to the normal string delta algorithm if the number of changes is large. On a large repo with a commit of 8000 files, this reduces the commit time by 7 seconds (fastdelta goes from 8 seconds to 1). I tested this change by modifying the function to compare the old and the new values and running the test suite. The only difference is that the pure text-diff algorithm sometimes produces smaller (but functionaly identical) deltatexts than the bisect algorithm.
(0) -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 tip