marmoute created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches.
REVISION 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. This is especially relevant as we about to phase out the `supportedformat` class attribute. (a backport of this change to stable should be sent soon). REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D12031 AFFECTED FILES mercurial/streamclone.py tests/test-http-bundle1.t tests/test-http.t CHANGE DETAILS diff --git a/tests/test-http.t b/tests/test-http.t --- a/tests/test-http.t +++ b/tests/test-http.t @@ -59,8 +59,10 @@ $ cat > $TESTTMP/removesupportedformat.py << EOF > from mercurial import localrepo - > def extsetup(ui): - > localrepo.localrepository.supportedformats.remove(b'generaldelta') + > def reposetup(ui, repo): + > local = repo.local() + > if local is not None: + > local.supported.remove(b'generaldelta') > EOF $ hg clone --config extensions.rsf=$TESTTMP/removesupportedformat.py --stream http://localhost:$HGPORT/ copy3 diff --git a/tests/test-http-bundle1.t b/tests/test-http-bundle1.t --- a/tests/test-http-bundle1.t +++ b/tests/test-http-bundle1.t @@ -70,8 +70,10 @@ $ cat > $TESTTMP/removesupportedformat.py << EOF > from mercurial import localrepo - > def extsetup(ui): - > localrepo.localrepository.supportedformats.remove(b'generaldelta') + > def reposetup(ui, repo): + > local = repo.local() + > if local is not None: + > local.supported.remove(b'generaldelta') > EOF $ hg clone --config extensions.rsf=$TESTTMP/removesupportedformat.py --stream http://localhost:$HGPORT/ copy3 diff --git a/mercurial/streamclone.py b/mercurial/streamclone.py --- a/mercurial/streamclone.py +++ b/mercurial/streamclone.py @@ -128,7 +128,7 @@ streamreqs = set(streamreqs.split(b',')) # Server requires something we don't support. Bail. - missingreqs = streamreqs - repo.supportedformats + missingreqs = streamreqs - repo.supported if missingreqs: pullop.repo.ui.warn( _( @@ -503,7 +503,7 @@ ) filecount, bytecount, requirements = readbundle1header(fp) - missingreqs = requirements - repo.supportedformats + missingreqs = requirements - repo.supported if missingreqs: raise error.Abort( _(b'unable to apply stream clone: unsupported format: %s') To: marmoute, #hg-reviewers Cc: mercurial-patches, mercurial-devel _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel