# HG changeset patch # User Pierre-Yves David # Date 1486026322 -3600 # Node ID db30c6bfeb70594f85e1b706208640e03ac18d92 # Parent 8e38fa360a12962b6d5af9addd803ba23700219d debugcommands: move 'debugsuccessorssets' in the new module diff -r 8e38fa360a12 -r db30c6bfeb70 mercurial/commands.py --- a/mercurial/commands.py Thu Feb 02 10:04:55 2017 +0100 +++ b/mercurial/commands.py Thu Feb 02 10:05:22 2017 +0100 @@ -1854,60 +1854,6 @@ with repo.wlock(False): return cmdutil.copy(ui, repo, pats, opts) -@command('debugsuccessorssets', - [], - _('[REV]')) -def debugsuccessorssets(ui, repo, *revs): - """show set of successors for revision - - A successors set of changeset A is a consistent group of revisions that - succeed A. It contains non-obsolete changesets only. - - In most cases a changeset A has a single successors set containing a single - successor (changeset A replaced by A'). - - A changeset that is made obsolete with no successors are called "pruned". - Such changesets have no successors sets at all. - - A changeset that has been "split" will have a successors set containing - more than one successor. - - A changeset that has been rewritten in multiple different ways is called - "divergent". Such changesets have multiple successor sets (each of which - may also be split, i.e. have multiple successors). - - Results are displayed as follows:: - - - - - - - - Here rev2 has two possible (i.e. divergent) successors sets. The first - holds one element, whereas the second holds three (i.e. the changeset has - been split). - """ - # passed to successorssets caching computation from one call to another - cache = {} - ctx2str = str - node2str = short - if ui.debug(): - def ctx2str(ctx): - return ctx.hex() - node2str = hex - for rev in scmutil.revrange(repo, revs): - ctx = repo[rev] - ui.write('%s\n'% ctx2str(ctx)) - for succsset in obsolete.successorssets(repo, ctx.node(), cache): - if succsset: - ui.write(' ') - ui.write(node2str(succsset[0])) - for node in succsset[1:]: - ui.write(' ') - ui.write(node2str(node)) - ui.write('\n') - @command('debugtemplate', [('r', 'rev', [], _('apply template on changesets'), _('REV')), ('D', 'define', [], _('define template keyword'), _('KEY=VALUE'))], diff -r 8e38fa360a12 -r db30c6bfeb70 mercurial/debugcommands.py --- a/mercurial/debugcommands.py Thu Feb 02 10:04:55 2017 +0100 +++ b/mercurial/debugcommands.py Thu Feb 02 10:05:22 2017 +0100 @@ -1895,6 +1895,60 @@ ui.write((' source %s\n') % v[0]) ui.write((' revision %s\n') % v[1]) +@command('debugsuccessorssets', + [], + _('[REV]')) +def debugsuccessorssets(ui, repo, *revs): + """show set of successors for revision + + A successors set of changeset A is a consistent group of revisions that + succeed A. It contains non-obsolete changesets only. + + In most cases a changeset A has a single successors set containing a single + successor (changeset A replaced by A'). + + A changeset that is made obsolete with no successors are called "pruned". + Such changesets have no successors sets at all. + + A changeset that has been "split" will have a successors set containing + more than one successor. + + A changeset that has been rewritten in multiple different ways is called + "divergent". Such changesets have multiple successor sets (each of which + may also be split, i.e. have multiple successors). + + Results are displayed as follows:: + + + + + + + + Here rev2 has two possible (i.e. divergent) successors sets. The first + holds one element, whereas the second holds three (i.e. the changeset has + been split). + """ + # passed to successorssets caching computation from one call to another + cache = {} + ctx2str = str + node2str = short + if ui.debug(): + def ctx2str(ctx): + return ctx.hex() + node2str = hex + for rev in scmutil.revrange(repo, revs): + ctx = repo[rev] + ui.write('%s\n'% ctx2str(ctx)) + for succsset in obsolete.successorssets(repo, ctx.node(), cache): + if succsset: + ui.write(' ') + ui.write(node2str(succsset[0])) + for node in succsset[1:]: + ui.write(' ') + ui.write(node2str(node)) + ui.write('\n') + @command('debugupgraderepo', [ ('o', 'optimize', [], _('extra optimization to perform'), _('NAME')), ('', 'run', False, _('performs an upgrade')),