diff --git a/hgext/record.py b/hgext/record.py --- a/hgext/record.py +++ b/hgext/record.py @@ -53,6 +53,10 @@ def record(ui, repo, *pats, **opts): This command is not available when committing a merge.''' + if not ui.interactive(): + raise util.Abort(_('running non-interactively, use %s instead') % + 'commit') + opts["interactive"] = True backup = ui.backupconfig('experimental', 'crecord') try: diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -1480,7 +1480,7 @@ def commit(ui, repo, *pats, **opts): """ if opts.get('interactive'): opts.pop('interactive') - cmdutil.dorecord(ui, repo, commit, 'commit', False, + cmdutil.dorecord(ui, repo, commit, None, False, cmdutil.recordfilter, *pats, **opts) return diff --git a/tests/test-commit-interactive.t b/tests/test-commit-interactive.t --- a/tests/test-commit-interactive.t +++ b/tests/test-commit-interactive.t @@ -15,6 +15,12 @@ Select no files $ touch empty-rw $ hg add empty-rw + $ hg record --config ui.interactive=false + abort: running non-interactively, use commit instead + [255] + $ hg commit -i --config ui.interactive=false + abort: running non-interactively + [255] $ hg commit -i empty-rw< n > EOF