# HG changeset patch # User Yuya Nishihara # Date 2015-03-26 14:56:18 # Node ID 3eb9045396b08632072bf63033a5bf65334c53f2 # Parent dded1eeeff645e37ae3b6ea1318e3867fd142e9c children: don't pass filectx to displayer displayer doesn't want a fctx but a ctx. It failed with -Tdefault template. Traceback (most recent call last): ... File "mercurial/templatekw.py", line 212, in showbookmarks bookmarks = args['ctx'].bookmarks() AttributeError: 'filectx' object has no attribute 'bookmarks' 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 ..