diff --git a/hgext/children.py b/hgext/children.py --- a/hgext/children.py +++ b/hgext/children.py @@ -39,11 +39,13 @@ def children(ui, repo, file_=None, **opt """ rev = opts.get('rev') if file_: - ctx = repo.filectx(file_, changeid=rev) + fctx = repo.filectx(file_, changeid=rev) + childctxs = [fcctx.changectx() for fcctx in fctx.children()] else: ctx = repo[rev] + childctxs = ctx.children() displayer = cmdutil.show_changeset(ui, repo, opts) - for cctx in ctx.children(): + for cctx in childctxs: displayer.show(cctx) displayer.close() diff --git a/tests/test-children.t b/tests/test-children.t --- a/tests/test-children.t +++ b/tests/test-children.t @@ -122,4 +122,12 @@ hg children file0 at revision 0 (should summary: 2 +should be compatible with templater (don't pass fctx to displayer) + $ hg children file0 -Tdefault + changeset: 2:8f5eea5023c2 + user: test + date: Thu Jan 01 00:00:02 1970 +0000 + summary: 2 + + $ cd ..