Wed, 17 Oct 2018 11:56:03 -0700 tests: fix "running x tests using y ... " output in a few more places
Martin von Zweigbergk <martinvonz@google.com> [Wed, 17 Oct 2018 11:56:03 -0700] rev 40333
tests: fix "running x tests using y ... " output in a few more places These seem to have been missed by 1039404c5e1d (run-tests: print number of tests and parallel process count, 2018-10-13). Differential Revision: https://phab.mercurial-scm.org/D5145
Sun, 14 Oct 2018 09:34:21 +0000 py3: fix test-hardlinks.t
Mark Thomas <mbthomas@fb.com> [Sun, 14 Oct 2018 09:34:21 +0000] rev 40332
py3: fix test-hardlinks.t Differential Revision: https://phab.mercurial-scm.org/D5096
Fri, 14 Sep 2018 14:56:13 -0700 exchange: support declaring pull depth
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 14 Sep 2018 14:56:13 -0700] rev 40331
exchange: support declaring pull depth Upcoming commits will teach exchangev2 how to perform a shallow clone. This commit teaches hg.clone(), exchange.pull(), and exchange.pulloperation to recognize a request for a shallow clone by having the caller specify a numeric depth of the maximum number of ancestor changesets to fetch. There are certainly other ways we could control shallow-ness. But this one is simple to implement and is also how the narrow extension controls things. So it seems to make sense to start here. Differential Revision: https://phab.mercurial-scm.org/D5136
Wed, 17 Oct 2018 10:10:05 +0200 exchangev2: support for calling rawstorefiledata to retrieve raw files
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 17 Oct 2018 10:10:05 +0200] rev 40330
exchangev2: support for calling rawstorefiledata to retrieve raw files This is somewhat hacky. For that I apologize. At the 4.8 Sprint, we decided we wanted to land support in wireprotov2 for doing a partial clone with changelog and manifestlog bootstrapped from a "stream clone" like primitive. This commit implements the client-side bits necessary to facilitate that. If the new server-side command for obtaining raw files data is available, we call it to get the raw files for the changelog and manifestlog. Then we fall through to an incremental pull. But when fetching files data, instead of using the list of a changesets and manifests that we fetched via the "changesetdata" command, we do a linear scan of the repo and resolve the changeset and manifest nodes along with the manifest linkrevs. Differential Revision: https://phab.mercurial-scm.org/D5135
Tue, 16 Oct 2018 21:31:21 +0200 wireprotov2: implement command for retrieving raw store files
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 16 Oct 2018 21:31:21 +0200] rev 40329
wireprotov2: implement command for retrieving raw store files Implementing shallow clone of the changelog is hard. We want the 4.8 release to have a fast implementation of partial clone in wireprotov2. In order to achieve fast, we can't use deltas for transferring changelog and manifestlog data. Per discussions at the 4.8 sprint, this commit implements a somwwhat hacky and likely-to-be-changed-drastically-or-dropped command in wireprotov2 that facilitates access to raw store files, namely the changelog and manifestlog. Using this command, clients can perform a "stream clone" of sorts for just the changelog and manifestlog. This will allow clients to fetch the changelog and manifest revlogs, stream them to disk (which should be fast), then follow up filesdata requests for files revision data for a particular changeset. Differential Revision: https://phab.mercurial-scm.org/D5134
Tue, 16 Oct 2018 21:35:33 +0200 wireprotov2: add response type that serializes to indefinite length bytestring
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 16 Oct 2018 21:35:33 +0200] rev 40328
wireprotov2: add response type that serializes to indefinite length bytestring This will be needed in a future patch. Differential Revision: https://phab.mercurial-scm.org/D5133
Wed, 26 Sep 2018 14:38:43 -0700 exchangev2: recognize narrow patterns when pulling
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 26 Sep 2018 14:38:43 -0700] rev 40327
exchangev2: recognize narrow patterns when pulling pulloperation instances were recently taught to record file include and exclude patterns to facilitate narrow file transfer. Teaching the exchangev2 code to transfer a subset of files is as simple as constructing a narrow matcher from these patterns and filtering all seen file paths through it. Keep in mind that this change only influences file data: we're still fetching all changeset and manifest data. So, there's still a ton of "partial clone" to implement in exchangev2. On a personal note, I derive gratification that this feature requires very few lines of new code to implement. To test this, we implemented a minimal extension which allows us to specify --include/--exclude to clone. While the narrow extension provides these arguments, I explicitly wanted to test this functionality without the narrow extension enabled, as that extension monkeypatches various things and I want to isolate the behavior of core Mercurial. Differential Revision: https://phab.mercurial-scm.org/D5132
(0) -30000 -10000 -3000 -1000 -300 -100 -30 -10 -7 +7 +10 +30 +100 +300 +1000 +3000 +10000 tip