1947 for node in succsset[1:]: |
1948 for node in succsset[1:]: |
1948 ui.write(' ') |
1949 ui.write(' ') |
1949 ui.write(node2str(node)) |
1950 ui.write(node2str(node)) |
1950 ui.write('\n') |
1951 ui.write('\n') |
1951 |
1952 |
|
1953 @command('debugtemplate', |
|
1954 [('r', 'rev', [], _('apply template on changesets'), _('REV')), |
|
1955 ('D', 'define', [], _('define template keyword'), _('KEY=VALUE'))], |
|
1956 _('[-r REV]... [-D KEY=VALUE]... TEMPLATE'), |
|
1957 optionalrepo=True) |
|
1958 def debugtemplate(ui, repo, tmpl, **opts): |
|
1959 """parse and apply a template |
|
1960 |
|
1961 If -r/--rev is given, the template is processed as a log template and |
|
1962 applied to the given changesets. Otherwise, it is processed as a generic |
|
1963 template. |
|
1964 |
|
1965 Use --verbose to print the parsed tree. |
|
1966 """ |
|
1967 revs = None |
|
1968 if opts['rev']: |
|
1969 if repo is None: |
|
1970 raise error.RepoError(_('there is no Mercurial repository here ' |
|
1971 '(.hg not found)')) |
|
1972 revs = scmutil.revrange(repo, opts['rev']) |
|
1973 |
|
1974 props = {} |
|
1975 for d in opts['define']: |
|
1976 try: |
|
1977 k, v = (e.strip() for e in d.split('=', 1)) |
|
1978 if not k: |
|
1979 raise ValueError |
|
1980 props[k] = v |
|
1981 except ValueError: |
|
1982 raise error.Abort(_('malformed keyword definition: %s') % d) |
|
1983 |
|
1984 if ui.verbose: |
|
1985 aliases = ui.configitems('templatealias') |
|
1986 tree = templater.parse(tmpl) |
|
1987 ui.note(templater.prettyformat(tree), '\n') |
|
1988 newtree = templater.expandaliases(tree, aliases) |
|
1989 if newtree != tree: |
|
1990 ui.note(("* expanded:\n"), templater.prettyformat(newtree), '\n') |
|
1991 |
|
1992 mapfile = None |
|
1993 if revs is None: |
|
1994 k = 'debugtemplate' |
|
1995 t = formatter.maketemplater(ui, k, tmpl) |
|
1996 ui.write(templater.stringify(t(k, **props))) |
|
1997 else: |
|
1998 displayer = cmdutil.changeset_templater(ui, repo, None, opts, tmpl, |
|
1999 mapfile, buffered=False) |
|
2000 for r in revs: |
|
2001 displayer.show(repo[r], **props) |
|
2002 displayer.close() |
|
2003 |
1952 @command('debugupgraderepo', [ |
2004 @command('debugupgraderepo', [ |
1953 ('o', 'optimize', [], _('extra optimization to perform'), _('NAME')), |
2005 ('o', 'optimize', [], _('extra optimization to perform'), _('NAME')), |
1954 ('', 'run', False, _('performs an upgrade')), |
2006 ('', 'run', False, _('performs an upgrade')), |
1955 ]) |
2007 ]) |
1956 def debugupgraderepo(ui, repo, run=False, optimize=None): |
2008 def debugupgraderepo(ui, repo, run=False, optimize=None): |