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

Reply via email to