Page MenuHomePhabricator

clone: reuse the stream clone logic for local clone
AcceptedPublic

Authored by marmoute on Wed, Jun 9, 10:38 AM.

Details

Reviewers
Alphare
Group Reviewers
hg-reviewers
Summary

Streaming clone and local (non --pull) clone do mostly the same thing,
however they were using different logic to do so. This means the logic
frequently went out of sync and that new case had to be dealt with twice.

This is fragile and anoying. So we replace this with a re-use of the logic we
use for streaming clone.

I can see various test changes:

  • a more precise progress output,
  • armless fncache loading during clone,
  • fncache is no longer hardlinked (since we write it by hand).

I am not reinstalling the reposimplestore specific output, as far as I
understand this variant have been broken for years.

Diff Detail

Repository
rHG Mercurial
Branch
default
Lint
No Linters Available
Unit
No Unit Test Coverage

Event Timeline

marmoute created this revision.Wed, Jun 9, 10:38 AM
baymax updated this revision to Diff 28577.Tue, Jun 15, 10:24 AM

✅ refresh by Heptapod after a successful CI run (🐙 💚)

Alphare accepted this revision.Wed, Jun 16, 5:26 AM
Alphare added a subscriber: Alphare.
Alphare added inline comments.
mercurial/streamclone.py
844

s/happening/appending/ <- this one is a bit too much

This revision is now accepted and ready to land.Wed, Jun 16, 5:26 AM