This is an archive of the discontinued Mercurial Phabricator instance.

stream-clone: filter possible missing requirements using all supported one
ClosedPublic

Authored by marmoute on Jan 27 2022, 8:29 AM.

Details

Summary

The supportedformat requirements is missing some important requirements and it
seems better to filter out with all requirements we know, not just an
"arbitrary" subset.

The supportedformat set is lacking some important requirements (for example
revlog-compression-zstd). This is getting fixed on default (for Mercurial 6.1)

However, fixing that in 6.1 means the stream requirements sent over the wire
will contains more items. And if we don't apply this fix on older version, they
might end up complaining about lacking support for feature they actually support
for years.

This patch does not fix the deeper problem (advertised stream requirement
lacking some of them), but focus on the trivial part : Lets use the full set of
supported requirement for looking for unsupported ones.

This patch should be simple to backport to older version of Mercurial and
packager should be encouraged to do so.

This is a graft of d9017df70135 from default.

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.Jan 27 2022, 8:29 AM
Alphare requested changes to this revision.Jan 31 2022, 3:31 AM
Alphare added a subscriber: Alphare.

Needs a reference to the default patch. Otherwise it looks good.

This revision now requires changes to proceed.Jan 31 2022, 3:31 AM
baymax edited the summary of this revision. (Show Details)Feb 1 2022, 12:55 PM
baymax updated this revision to Diff 32026.

โœ… refresh by Heptapod after a successful CI run (๐Ÿ™ ๐Ÿ’š)
โš  This patch is intended for stable โš 

Alphare accepted this revision.Feb 2 2022, 4:46 AM
This revision is now accepted and ready to land.Feb 2 2022, 4:46 AM