On Tue, 29 Nov 2016 at 06:59 Pierre-Yves David < pierre-yves.da...@ens-lyon.org> wrote:
> It seems like the commit message needs to be updated too. (Y) > > diff --git a/mercurial/changegroup.py b/mercurial/changegroup.py > > --- a/mercurial/changegroup.py > > +++ b/mercurial/changegroup.py > > @@ -879,14 +879,16 @@ > > # Changegroup versions that can be applied to the repo > > def supportedincomingversions(repo): > > versions = allsupportedversions(repo.ui) > > - if 'treemanifest' in repo.requirements: > > + if ('treemanifest' in repo.requirements or > > + 'lfs' in repo.requirements): > > versions.add('03') > > I've not seen 'lfs' used anywhere yet so this changeset seems a bit > premature. Given the code in this series I would expect the next step to > be a minimal usage of the new code (either by porting some of censor or > by using a test extension). Then we can start working on exchanging > these flagged changesets. > > In addition, this piece of code is suspicious. If we have a changelog > '03' available, we should be using it. I'm not sure why we only consider > it when treemanifest is used. Martin: is this the remain of a period > where the '03' format was experimental? Did we actually tested the new > format now? Can we drop this special case? > The original patch included an example composition of the `lfs` current implementation with a `dummy` extension that also provide a non-commutative (but reversible) operation on the filelog. censor is actually a really awkward extension for me to prototype the current implementation: - The operation it provides is non-reversible and do not allow to demonstrate composing non-commutative operations. - I've been hacking on moving censor to the new design for modifying filelog contents with mixed results: while this allowed me to completely clean filelog of the censor related code, I've had trouble completely getting revlog rid of it. Some changes and improvements in our design might actually allow me to move forward on this now, I'll take a look at it tomorrow. I'll make sure to re-send the RFC patches for lfs + composition with the 'dummy' extension that provide a good example of how easy it is to write these extensions and how they rely on the flag transforms. > > > return versions > > > > # Changegroup versions that can be created from the repo > > def supportedoutgoingversions(repo): > > versions = allsupportedversions(repo.ui) > > - if 'treemanifest' in repo.requirements: > > + if ('treemanifest' in repo.requirements or > > + 'lfs' in repo.requirements): > > # Versions 01 and 02 support only flat manifests and it's just > too > > # expensive to convert between the flat manifest and tree > manifest on > > # the fly. Since tree manifests are hashed differently, all of > history > > diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py > > --- a/mercurial/localrepo.py > > +++ b/mercurial/localrepo.py > > @@ -238,7 +238,7 @@ > > class localrepository(object): > > > > supportedformats = set(('revlogv1', 'generaldelta', 'treemanifest', > > - 'manifestv2')) > > + 'manifestv2', 'lfs')) > > _basesupported = supportedformats | set(('store', 'fncache', > 'shared', > > 'dotencode')) > > openerreqs = set(('revlogv1', 'generaldelta', 'treemanifest', > 'manifestv2')) > > _______________________________________________ > > Mercurial-devel mailing list > > Mercurial-devel@mercurial-scm.org > > https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel > > > > -- > Pierre-Yves David > _______________________________________________ > Mercurial-devel mailing list > Mercurial-devel@mercurial-scm.org > https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel > -- Rémi
_______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel