Mercurial > public > mercurial-scm > hg-stable
diff mercurial/upgrade.py @ 42841:908ff446590e
upgrade: add an argument to control changelog upgrade
Same as for `--manifest` we can now select more selection.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 30 Jul 2019 17:25:16 +0200 |
parents | cf2b765cecd7 |
children | a3c2ffcd266f |
line wrap: on
line diff
--- a/mercurial/upgrade.py Tue Jul 30 00:35:52 2019 +0200 +++ b/mercurial/upgrade.py Tue Jul 30 17:25:16 2019 +0200 @@ -865,7 +865,7 @@ return backuppath def upgraderepo(ui, repo, run=False, optimize=None, backup=True, - manifest=None): + manifest=None, changelog=None): """Upgrade a repository in place.""" if optimize is None: optimize = [] @@ -873,7 +873,7 @@ repo = repo.unfiltered() revlogs = set(UPGRADE_ALL_REVLOGS) - specentries = (('m', manifest),) + specentries = (('c', changelog), ('m', manifest)) specified = [(y, x) for (y, x) in specentries if x is not None] if specified: # we have some limitation on revlogs to be recloned @@ -881,12 +881,16 @@ revlogs = set() for r, enabled in specified: if enabled: - if r == 'm': + if r == 'c': + revlogs.add(UPGRADE_CHANGELOG) + elif r == 'm': revlogs.add(UPGRADE_MANIFEST) else: # none are enabled for r, __ in specified: - if r == 'm': + if r == 'c': + revlogs.discard(UPGRADE_CHANGELOG) + elif r == 'm': revlogs.discard(UPGRADE_MANIFEST) # Ensure the repository can be upgraded.