commit: move check for incompatible args earlier
I think it makes sense to check the command line arguments as early as possible,
so we don't have to wait for a repo lock to tell the user that they passed
invalid arguments.
--- a/mercurial/commands.py Mon Nov 07 22:30:30 2022 -0500
+++ b/mercurial/commands.py Tue Nov 29 13:31:01 2022 -0800
@@ -2082,6 +2082,7 @@
hg commit --amend --date now
"""
+ cmdutil.check_incompatible_arguments(opts, 'subrepos', ['amend'])
with repo.wlock(), repo.lock():
return _docommit(ui, repo, *pats, **opts)
@@ -2097,7 +2098,6 @@
return 1 if ret == 0 else ret
if opts.get('subrepos'):
- cmdutil.check_incompatible_arguments(opts, 'subrepos', ['amend'])
# Let --subrepos on the command line override config setting.
ui.setconfig(b'ui', b'commitsubrepos', True, b'commit')