--- 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::
-
- <rev1>
- <successors-1A>
- <rev2>
- <successors-2A>
- <successors-2B1> <successors-2B2> <successors-2B3>
-
- 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'))],
--- 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::
+
+ <rev1>
+ <successors-1A>
+ <rev2>
+ <successors-2A>
+ <successors-2B1> <successors-2B2> <successors-2B3>
+
+ 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')),