[PATCH 2 of 2] requires: write requires file on commit

Martin von Zweigbergk martinvonz at google.com
Tue May 5 10:04:32 CDT 2015


I think you're right. Somehow it never hit me that cloning just to update
.hg/requires would make sense. Thanks for the suggestion!

On Mon, May 4, 2015 at 11:16 PM Adrian Buehlmann <adrian at cadifra.com> wrote:

> On 2015-05-05 01:12, Drew Gottlieb wrote:
> > If I'm not mistaken, that rewrites the hashes of old commits as it
> > clones them to manifestv2 format, correct?
>
> Really? Why?
>
> But I'm surprised you're asking this, since I am assuming you are the
> manifestv2 expert...
>
> I didn't try it myself, but as a mercurial-devel lurker, I just had a
> look at
>
>   http://mercurial.selenic.com/wiki/ManifestV2Plan
>
> and got the impression that repositories having manifestv2 in requires
> mean, that they may contain manifest revisions in the new version 2
> format, right?
>
> So, perhaps doing the well known, canonical, repository "conversion"
>
>   hg --config experimental.manifestv2=1 clone --pull repoA repoB
>
> should just leave repoB as it is (all manifest revisions in version 1),
> but add the manifestv2 marker to the requires file in repoB, which in
> turn would mean that the next commit in repoB would write a v2 manifest
> revision, right?
>
> > What we're seeking is a way
> > to have a repository with manifestv1 to switch to using manifestv2 for
> > future commits, without modifying old hashes.
>
> I suspect this is what probably should (and perhaps already does) happen
> with the command line I mentioned.
>
> > On Mon, May 4, 2015 at 4:09 PM Adrian Buehlmann <adrian at cadifra.com
> > <mailto:adrian at cadifra.com>> wrote:
> >
> >     On 2015-05-05 00:30, Drew Gottlieb wrote:
> >     > From IRC it seems a possible way forward can be having a command
> like
> >     > 'hg migrate' to handle migrations to new formats such as
> manifestv2 or
> >     > treemanifests. If such a command were created, the requires write
> >     could
> >     > happen then. Obviously, whether and how we have such a command is a
> >     > considerably larger discussion.
> >
> >     I assume you are aware of
> >
> >       hg --config experimental.manifestv2=1 clone --pull repoA repoB
> >
> >     See also http://mercurial.selenic.com/wiki/RequiresFile
> >
>
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20150505/c2cd7e6c/attachment.html>


More information about the Mercurial-devel mailing list