[PATCH 6 of 8] upgrade: add an argument to control manifest upgrade

Pierre-Yves David pierre-yves.david at ens-lyon.org
Tue Aug 6 05:58:27 EDT 2019

On 8/6/19 4:44 AM, Gregory Szorc wrote:
> On Mon, Aug 5, 2019 at 10:04 AM Pierre-Yves David 
> <pierre-yves.david at ens-lyon.org <mailto:pierre-yves.david at ens-lyon.org>> 
> wrote:
>     # HG changeset patch
>     # User Pierre-Yves David <pierre-yves.david at octobus.net
>     <mailto:pierre-yves.david at octobus.net>>
>     # Date 1564439752 -7200
>     #      Tue Jul 30 00:35:52 2019 +0200
>     # Node ID 909da55a9517693f2911793272e03cb7f108cfaf
>     # Parent  5b8a0d3b7596be28a31faac4ffc499da46c0b62e
>     # EXP-Topic upgrade-select
>     # Available At https://bitbucket.org/octobus/mercurial-devel/
>     #              hg pull
>     https://bitbucket.org/octobus/mercurial-devel/ -r 909da55a9517
>     upgrade: add an argument to control manifest upgrade
> Before we land this and the next commit, I'd like you to think about:
> 1) Filelog support. If we have a flag for manifests and changelogs, 
> shouldn't there be one for files?

With the next changeset, we can select all filelog and no-filelog. We 
could introduce a flag dedicated to filelog, that would match on the 
filename. I did not had a usecase for it so I did not.

> 2) How the presence of multiple flags interacts. Assuming we add a flag 
> to control files, what happens when you supply --manifest --changelog or 
> --no-manifest --no-changelog? Does that behavior make sense?

Multiple flag combine to allow a finer selection, here is the extract 
from the help (with the next changesets)

       * `--manifest`: only optimize the manifest
       * `--no-manifest`: optimize all revlog but the manifest
       * `--changelog`: optimize the changelog only
       * `--no-changelog --no-manifest`: optimize filelogs only

> 3) How do we extend this selection to other storage primitives? Do we 
> need to keep adding arguments for each storage primitive type?

Multiple commands in mercurial use the --manifest/--changelog flag. So 
we are not introducing any new questions with this series.

Pierre-Yves David

More information about the Mercurial-devel mailing list