Commit Graph

4 Commits

Author SHA1 Message Date
Siddharth Agarwal
2d094f51a1 upgradegeneraldelta: only upgrade before pulls
Summary: This is nicer because it only does the upgrade when an operation that'll probably take a while anyway is run.

Test Plan: Enabled the extension on a non-generaldelta repo, then ran `hg status`. Saw that it wasn't upgraded. Next, ran `hg pull`, and saw that it was.

Reviewers: davidsp, rmcelroy, akushner, pyd, daviser, mitrandir, ericsumner, durham

Reviewed By: durham

Differential Revision: https://phabricator.fb.com/D1749026

Signature: t1:1749026:1418940170:6fdecc074294b26b7c3e9bd8c1463eefd13a8fc1
2014-12-18 12:43:32 -08:00
Siddharth Agarwal
6cfd6e20ea upgradegeneraldelta: disable for peer objects 2014-12-17 21:09:18 -08:00
Siddharth Agarwal
6d854966b4 upgradegeneraldelta: fix path issues 2014-12-15 13:28:00 -08:00
Siddharth Agarwal
e431588514 add an extension to upgrade manifests in-place to generaldelta
Summary:
We actually realized that converting a manifest to generaldelta is not as easy as just flipping a bit -- the meaning of 'base' is different for normal vs generaldelta revlogs.

Instead, open a new generaldelta revlog, write out every node from the manifest, and then close the revlog. Finally, move over the revlog index and data files.

Test Plan: Ran it on local non-generaldelta fbandroid and fbcode repos. It's pretty fast: under two minutes each for both.

Reviewers: davidsp, rmcelroy, akushner, daviser, mpm, pyd, durham

Reviewed By: pyd

Subscribers: hannesr

Differential Revision: https://phabricator.fb.com/D1738808

Signature: t1:1738808:1418522355:31e424dc523d40f8194490d75160e993f48a0f27
2014-12-13 17:37:14 -08:00