Gregory Szorc <gregory.szorc@gmail.com> [Sat, 08 Apr 2017 11:35:00 -0700] rev 30895
repair: iterate store files deterministically
An upcoming test will add a 2nd file. Since readdir() is
non-deterministic, add a sorted() to make traversal deterministic.
Augie Fackler <raf@durin42.com> [Mon, 03 Apr 2017 17:34:24 -0400] rev 30894
Added signature for changeset ed5b25874d99
Augie Fackler <raf@durin42.com> [Mon, 03 Apr 2017 17:34:22 -0400] rev 30893
Added tag 4.1.2 for changeset ed5b25874d99
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 23 Mar 2017 19:54:59 -0700] rev 30892
changegroup: store old heads as a set
Previously, the "oldheads" variable was a list. On a repository at
Mozilla with 46,492 heads, profiling revealed that list membership
testing was dominating execution time of applying small changegroups.
This patch converts the list of old heads to a set. This makes
membership testing significantly faster. On the aforementioned
repository with 46,492 heads:
$ hg unbundle <file with 1 changeset>
before: 18.535s wall
after: 1.303s
Consumers of this variable only check for truthiness (`if oldheads`),
length (`len(oldheads)`), and (most importantly) item membership
(`h not in oldheads` - which occurs twice). So, the change to a set
should be safe and suitable for stable.
The practical effect of this change is that changegroup application
and related operations (like `hg push`) no longer exhibit an O(n^2)
CPU explosion as the number of heads grows.
Simon Farnsworth <simonfar@fb.com> [Mon, 20 Mar 2017 04:36:55 -0700] rev 30891
subrepo: move prompts out of the if (issue5505)
Prompts weren't available in the else clause
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 16 Mar 2017 12:33:15 -0700] rev 30890
exchange: use v2 bundles for modern compression engines (issue5506)
Previously, `hg bundle zstd` on a non-generaldelta repo would
attempt to use a v1 bundle. This would fail because zstd is not
supported on v1 bundles.
This patch changes the behavior to automatically use a v2 bundle
when the user explicitly requests a bundlespec that is a compression
engine not supported on v1. If the bundlespec is <engine>-v1, it is
still explicitly rejected because that request cannot be fulfilled.
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 16 Mar 2017 12:23:56 -0700] rev 30889
exchange: reject new compression engines for v1 bundles (issue5506)
Version 1 bundles only support a fixed set of compression engines.
Before this change, we would accept any compression engine for v1
bundles, even those that may not work on v1. This could lead to
an error.
We define a fixed set of compression engines known to work with v1
bundles and we add checking to ensure a newer engine (like zstd)
won't work with v1 bundles.
I also took the liberty of adding test coverage for unknown compression
names because I noticed we didn't have coverage of it before.
Augie Fackler <augie@google.com> [Tue, 07 Mar 2017 13:24:24 -0500] rev 30888
pycompat: verify sys.argv exists before forwarding it (issue5493)
ISAPI_WSGI doesn't set up sys.argv, so we have to look for the
attribute before assuming it exists.
Augie Fackler <raf@durin42.com> [Thu, 02 Mar 2017 20:19:45 -0500] rev 30887
Added signature for changeset 25703b624d27
Augie Fackler <raf@durin42.com> [Thu, 02 Mar 2017 20:19:43 -0500] rev 30886
Added tag 4.1.1 for changeset 25703b624d27
Augie Fackler <raf@durin42.com> [Thu, 02 Mar 2017 20:07:35 -0500] rev 30885
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Thu, 02 Mar 2017 11:08:20 -0300] rev 30884
i18n-pt_BR: synchronized with 7074589cf22a
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 01 Mar 2017 16:43:22 +0900] rev 30883
i18n-ja: synchronized with 7074589cf22a
Yuya Nishihara <yuya@tcha.org> [Sat, 25 Feb 2017 12:48:50 +0900] rev 30882
worker: flush messages written by child processes before exit
I found some child outputs were lost while testing the previous patch. Since
os._exit() does nothing special, we need to do that explicitly.
Yuya Nishihara <yuya@tcha.org> [Sat, 25 Feb 2017 12:33:37 +0900] rev 30881
worker: add basic test to ensure child processes are managed well
This should catch the bug fixed by "worker: ignore meaningless exit status
indication returned by os.waitpid()."
Before, worker.py was untested since test repositories are relatively small.
eloimorlaas <eloimorlaas@fb.com> [Thu, 23 Feb 2017 11:23:17 -0800] rev 30880
record: update help to describe ui.interface
hg help record was not accurate if using another interface than the text one