Thu, 23 Oct 2014 12:28:00 -0200 help/config: fix typo stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Thu, 23 Oct 2014 12:28:00 -0200] rev 23075
help/config: fix typo
Thu, 23 Oct 2014 12:27:57 -0200 files: fix example list syntax stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Thu, 23 Oct 2014 12:27:57 -0200] rev 23074
files: fix example list syntax
Thu, 23 Oct 2014 02:42:57 +0200 parsers: use 'k' format for Py_BuildValue instead of 'n' because Python 2.4 stable
Mads Kiilerich <madski@unity3d.com> [Thu, 23 Oct 2014 02:42:57 +0200] rev 23073
parsers: use 'k' format for Py_BuildValue instead of 'n' because Python 2.4 'n' was introduced in Mercurial in 2b5940f64750 and broke Python 2.4 support in mysterious ways that only showed failure in test-glog.t. Py_BuildValue failed because of the unknown format and a TypeError was thrown ... but it never showed up on the Python side and it happily continued processing with wrong data. Quoting https://docs.python.org/2/c-api/arg.html : n (integer) [Py_ssize_t] Convert a Python integer or long integer to a C Py_ssize_t. New in version 2.5. k (integer) [unsigned long] Convert a Python integer or long integer to a C unsigned long without overflow checking. This will use unsigned long instead of Py_ssize_t. That is not a good solution, but good is not an option when we have to support Python 2.4.
Mon, 20 Oct 2014 18:50:09 -0700 rebase: improve base revset performance stable
Durham Goode <durham@fb.com> [Mon, 20 Oct 2014 18:50:09 -0700] rev 23072
rebase: improve base revset performance The old revset had pretty terrible performance on large repositories (12+ seconds). This new revset achieves the same result in only 0.7s. As we improve the underlying revset APIs we can probably get this revset down to 'only(base, dest)::', but at the moment that version still takes 2s.
Thu, 16 Oct 2014 06:35:06 -0700 amend: fix amending rename commit with diverged topologies (issue4405) stable
Ryan McElroy <rmcelroy@fb.com> [Thu, 16 Oct 2014 06:35:06 -0700] rev 23071
amend: fix amending rename commit with diverged topologies (issue4405) This addresses the bug described in issue4405: when obsolescence markers are enabled, amending a commit with a file move can lead to the copy information being lost. However, the bug is more general and can be reproduced without obsmarkers as well, as demonstracted by Pierre-Yves and put into the updated test. Specifically, graph topology divergences between the filelogs and the changelog can cause copy information to be lost during amends.
Tue, 21 Oct 2014 17:09:37 -0400 hgweb: disable SSLv3 serving (BC) stable
Augie Fackler <raf@durin42.com> [Tue, 21 Oct 2014 17:09:37 -0400] rev 23070
hgweb: disable SSLv3 serving (BC) Because of recent attacks[0] on SSLv3, let's just drop support entirely. 0: http://googleonlinesecurity.blogspot.com/2014/10/this-poodle-bites-exploiting-ssl-30.html
Tue, 21 Oct 2014 17:01:23 -0400 sslutil: only support TLS (BC) stable
Augie Fackler <raf@durin42.com> [Tue, 21 Oct 2014 17:01:23 -0400] rev 23069
sslutil: only support TLS (BC) In light of the POODLE[0] attack on SSLv3, let's just drop the ability to use anything older than TLSv1 entirely. This only fixes the client side. Another commit will fix the server side. There are still a few SSLv[23] constants hiding in httpclient, but I'll fix those separately upstream and import them when we're not in a code freeze. 0: http://googleonlinesecurity.blogspot.com/2014/10/this-poodle-bites-exploiting-ssl-30.html
Wed, 22 Oct 2014 16:10:23 +0200 eol: fix crash when handling removed files stable
Mads Kiilerich <madski@unity3d.com> [Wed, 22 Oct 2014 16:10:23 +0200] rev 23068
eol: fix crash when handling removed files ci --amend would in some cases fail after 650b5b6e75ed failed to refactor the eol extension too.
Wed, 15 Oct 2014 03:52:20 -0700 bundle2: transmit exception during part generation stable
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 15 Oct 2014 03:52:20 -0700] rev 23067
bundle2: transmit exception during part generation If an exception is raised during a bundle2 part payload generation it is now recorded in the bundle. If such exception occurs, we capture it, transmit an abort exception through the bundle, cleanly close the current part payload and raise it again. This allow to generate valid bundle even in case of exception so that the consumer does not wait forever for a dead producer. This also allow to raise the exception during unbundling at the exact point it happened during bundling make debugging easier.
Tue, 14 Oct 2014 10:47:47 -0700 bundle2: add a interrupt mechanism stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 14 Oct 2014 10:47:47 -0700] rev 23066
bundle2: add a interrupt mechanism It is now possible to emit a single part in the middle of a payload production. This part will be processed with limitation (only access to a `ui` object). The goal is to let the server raise exception and output while a part is being processed. The source motivation is to transmit exception that occurs while generating a part. This change is was the motivation to bump the bundle2 format from HG2X to HG2Y. Somehow, the format bump made it into 3.2 without it. So this change go on stable. It is low risk as bundle2 is still disabled by default.
Tue, 21 Oct 2014 12:38:28 -0700 transactions: change backupfiles format to use newlines stable
Durham Goode <durham@fb.com> [Tue, 21 Oct 2014 12:38:28 -0700] rev 23065
transactions: change backupfiles format to use newlines Previously the journal.backupfiles file was delimited by \0. Now we delimit it using \n (same as the journal file). This allows us to change the number of values in each line more easily, rather than relying on the count of \0's.
Tue, 21 Oct 2014 11:37:29 -0700 transactions: add version number to journal.backupfiles stable
Durham Goode <durham@fb.com> [Tue, 21 Oct 2014 11:37:29 -0700] rev 23064
transactions: add version number to journal.backupfiles The transaction format will be changing a bit over the next releases, so let's go ahead and add a version number to make backwards compatibility easier. This whole file format was broken prior to 3.2 (see previous patch), so changing it now is pretty low risk.
Mon, 20 Oct 2014 16:53:56 -0700 transactions: fix hg recover with fncache backups stable
Durham Goode <durham@fb.com> [Mon, 20 Oct 2014 16:53:56 -0700] rev 23063
transactions: fix hg recover with fncache backups The transaction backupfiles logic was broken for 'hg recover'. The file format is XXX\0XXX\0YYY\0YYY\0 but the parser did a couple things wrong. 1) It went one step beyond the final \0 and tried to read past the end of the array. 2) array[i:i+1] returns a single item, instead of two items as intended. Added a test to catch it, which turns out to be the first actual 'hg recover' test.
Sun, 19 Oct 2014 16:48:33 +0900 revset: have rev() drop out-of-range or filtered rev explicitly (issue4396) stable
Yuya Nishihara <yuya@tcha.org> [Sun, 19 Oct 2014 16:48:33 +0900] rev 23062
revset: have rev() drop out-of-range or filtered rev explicitly (issue4396) The recent optimization of "and" operation relies on the assumption that the rhs set does not contain invalid revisions. So rev() has to remove invalid revisions. This is still faster than using `.filter(lambda r: r == l)`. revset #0: rev(25) 0) wall 0.026341 comb 0.020000 user 0.020000 sys 0.000000 (best of 113) 1) wall 0.000038 comb 0.000000 user 0.000000 sys 0.000000 (best of 66567) 2) wall 0.000062 comb 0.000000 user 0.000000 sys 0.000000 (best of 43699) (0: bbf4f3dfd700^, 1: 3.2-rc, 2: this patch)
Wed, 22 Oct 2014 15:47:27 -0500 revset: avoid recalculating filesets stable
Matt Mackall <mpm@selenic.com> [Wed, 22 Oct 2014 15:47:27 -0500] rev 23061
revset: avoid recalculating filesets This fixes a regression in 8dabcc889e33 that moved matcher building into a callback, thus causing it be rebuilt for each revision matched against.
(0) -10000 -3000 -1000 -300 -100 -15 +15 +100 +300 +1000 +3000 +10000 tip