Fri, 06 Nov 2015 13:01:15 -0500 changegroup: back code change of e7c618cee8df out stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 06 Nov 2015 13:01:15 -0500] rev 26882
changegroup: back code change of e7c618cee8df out The previous changeset is a simpler way of fixing issue4934 without changing the spirit of the code. We can remove the dual call to 'delayupdate' but we keep the tests to show that the issue is still fixed.
Fri, 06 Nov 2015 12:59:09 -0500 changegroup: call 'prechangegroup' hook before setting up write delay stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 06 Nov 2015 12:59:09 -0500] rev 26881
changegroup: call 'prechangegroup' hook before setting up write delay The 'prechangegroup' interfere with 'delayupdate' logic because it trigger the one time call of 'changelog._writepending' (see issure4934). There is no reason not to call that hook before setting up 'delayupdate' so we move the call a bit earlier to avoid interference.
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.
Wed, 04 Nov 2015 23:44:51 -0800 merge.mergestate: update docstrings for preresolve and resolve
Siddharth Agarwal <sid0@fb.com> [Wed, 04 Nov 2015 23:44:51 -0800] rev 26870
merge.mergestate: update docstrings for preresolve and resolve Add a docstring for preresolve, and update the one for resolve.
Mon, 26 Oct 2015 02:35:48 -0700 rebase: pass date parameter to concludenode
Stanislau Hlebik <stash@fb.com> [Mon, 26 Oct 2015 02:35:48 -0700] rev 26869
rebase: pass date parameter to concludenode
Mon, 26 Oct 2015 02:22:26 -0700 rebase: add date parameter to concludenode function
Stanislau Hlebik <stash@fb.com> [Mon, 26 Oct 2015 02:22:26 -0700] rev 26868
rebase: add date parameter to concludenode function This parameter will allow us to set the date of rebased commits
Sat, 24 Oct 2015 09:47:33 +0100 hgweb: remove unused colorPart() from mercurial.js
Anton Shestakov <av6@dwimlabs.net> [Sat, 24 Oct 2015 09:47:33 +0100] rev 26867
hgweb: remove unused colorPart() from mercurial.js Looks like the function wasn't ever used since its introduction in 0dba955c2636, since setColor() below always used "rgb(255, 255, 255)" notation which doesn't need hex digits.
Sun, 18 Oct 2015 18:49:59 +0200 test: enforce non-general delta in 'test-generaldelta.t'
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 18 Oct 2015 18:49:59 +0200] rev 26866
test: enforce non-general delta in 'test-generaldelta.t' If general delta becomes the default, we need to be explicit about what we want to be tested.
Tue, 20 Oct 2015 15:27:56 +0200 test: enforce bundle1 in 'test-push-cgi.t'
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 Oct 2015 15:27:56 +0200] rev 26865
test: enforce bundle1 in 'test-push-cgi.t' This test is checking bundle1 application, therefore we have to enforce the generated bundle to be a bundle1.
Sun, 18 Oct 2015 18:42:09 +0200 test: enforce v1 in 'test-debugbundle.t'
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 18 Oct 2015 18:42:09 +0200] rev 26864
test: enforce v1 in 'test-debugbundle.t' This test is about bundle1 and should remain so when we move to generaldelta by default.
Tue, 20 Oct 2015 02:39:42 +0200 test: enforce bundle1 in "test-commit-interactive.t"
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 20 Oct 2015 02:39:42 +0200] rev 26863
test: enforce bundle1 in "test-commit-interactive.t" This test generate a bundle to get a binary file to commit. We should ensure this binary file remains the same when we move to general delta as default.
Fri, 06 Nov 2015 09:48:24 -0800 discovery: factor out calculation of heads to not warn about
Ryan McElroy <rmcelroy@fb.com> [Fri, 06 Nov 2015 09:48:24 -0800] rev 26862
discovery: factor out calculation of heads to not warn about In addition to taking a step towards getting an unreasonably large function factored into smaller, more manageable functions, this will allow extensions such as remotenames have more control over what pushes are allowed or not.
Fri, 06 Nov 2015 11:08:11 -0500 hooks: back 9f272bf3b342 out stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 06 Nov 2015 11:08:11 -0500] rev 26861
hooks: back 9f272bf3b342 out Changeset 9f272bf3b342 alters the 'HG_PENDING' mechanism to be "always" there. This change is made under the assumption than we previously did it only when "writepending() actually wrote something". This assumption was wrong, 'writepending()' informs of pending changes the first time something is written and for all following calls. We back this change out to restore the former behavior, which was already correct.
Wed, 04 Nov 2015 15:17:52 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 04 Nov 2015 15:17:52 -0600] rev 26860
merge with stable
Tue, 03 Nov 2015 17:13:27 -0800 hooks: fix hooks not firing if prechangegroup was set (issue4934) stable
Durham Goode <durham@fb.com> [Tue, 03 Nov 2015 17:13:27 -0800] rev 26859
hooks: fix hooks not firing if prechangegroup was set (issue4934) We need to call delayupdate again after writing to the changelog. Otherwise the prechangegroup hook consumes the delayupdate subscription and future hooks don't see the pending changes (see issue 4934 for more details). Adds a test that triggers the prechangegroup hook before the pretxnchangegroup hook and verifies that the output of pretxnchangegroup doesn't change.
(0) -10000 -3000 -1000 -300 -100 -50 -24 +24 +50 +100 +300 +1000 +3000 +10000 tip