record: omit meaningless 'commit' suggestion at 'hg commit -i'
Before this patch, 'hg commit -i' under non-interactive mode suggests
'use commit instead', and it obviously meaningless.
This patch makes 'record.record'()' examine 'ui.interactive()' and
show suggestion by itself before calling 'commands.commit()'.
This allows 'commands.commit()' to specify 'None' for 'cmdsuggest'
argument of 'cmdutil.dorecord()' to omit meaningless 'commit'
suggestion at 'hg commit -i'.
--- a/hgext/record.py Wed Jul 15 03:43:16 2015 +0900
+++ b/hgext/record.py Wed Jul 15 04:45:58 2015 +0900
@@ -53,6 +53,10 @@
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:
--- a/mercurial/commands.py Wed Jul 15 03:43:16 2015 +0900
+++ b/mercurial/commands.py Wed Jul 15 04:45:58 2015 +0900
@@ -1480,7 +1480,7 @@
"""
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
--- a/tests/test-commit-interactive.t Wed Jul 15 03:43:16 2015 +0900
+++ b/tests/test-commit-interactive.t Wed Jul 15 04:45:58 2015 +0900
@@ -15,6 +15,12 @@
$ 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<<EOF
> n
> EOF