mharbison72 added inline comments. INLINE COMMENTS
> indygreg wrote in exchange.py:321 > Since changegroup `v3` is not advertised in an existing bundle spec > definition at the top of this file, the proper thing to do here is create a > new `v3` bundle specification that uses changegroup v3 by default. Then all > bundle spec `v3` will be compatible with changegroup `v3`. > > But before we create a new bundle spec, all features within it need to be > non-experimental. The whole point of bundle specs is that if 2 clients of > different versions claim they support a bundle spec, they actually do. If the > content of a bundle change within a bundle spec, that's a BC. > > If changegroup `v3` isn't stable yet, we should not be associating it with a > bundle spec because a claimed `v2` bundle spec may not be readable by an old > version or a client without the experimental feature enabled. That breaks the > contract of bundle specifications. > > That being said, for purposes of parsing a bundle, it _might_ be acceptable > to allow experimental features through. We absolutely cannot do that on the > write side, however, as it completely breaks the bundle spec contract that > content is well-defined. > That being said, for purposes of parsing a bundle, it _might_ be acceptable > to allow experimental > features through. We absolutely cannot do that on the write side, however, as > it completely breaks > the bundle spec contract that content is well-defined. That's concerning (I think). I got onto this path trying to generate clonebundles for a repo that uses LFS. LFS forces the experimental changegroup3 (and removes the others as options). I was able to generate the bundle, and was using this to try to figure out what the magic string was for filling out the manifest. So there are bundles of a not-reported spec in the wild (I assume this is what you meant by the write side). And if we were to BC changegroup3 for example, IDK how we tell that these older bundles are *not* whatever the new bundlespec becomes, since it seems that the only additional needed logic is to look for changegroup3. REPOSITORY rHG Mercurial CHANGES SINCE LAST ACTION https://phab.mercurial-scm.org/D7967/new/ REVISION DETAIL https://phab.mercurial-scm.org/D7967 To: mharbison72, #hg-reviewers Cc: indygreg, marmoute, pulkit, joerg.sonnenberger, mercurial-devel _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel