Page MenuHomePhabricator

clone: reuse the stream clone logic for local clone
ClosedPublic

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

Details

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
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

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

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

Alphare accepted this revision.Jun 16 2021, 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.Jun 16 2021, 5:26 AM
baymax updated this revision to Diff 28625.Jun 21 2021, 1:09 AM

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

This revision was automatically updated to reflect the committed changes.