--- a/mercurial/cmdutil.py Fri May 03 20:06:03 2019 +0900
+++ b/mercurial/cmdutil.py Mon May 06 22:10:34 2019 -0400
@@ -272,6 +272,15 @@
raise error.Abort(_('cannot partially commit a merge '
'(use "hg commit" instead)'))
+ def fail(f, msg):
+ raise error.Abort('%s: %s' % (f, msg))
+
+ force = opts.get('force')
+ if not force:
+ vdirs = []
+ match.explicitdir = vdirs.append
+ match.bad = fail
+
status = repo.status(match=match)
overrides = {(b'ui', b'commitsubrepos'): True}
@@ -294,15 +303,6 @@
dirtyreason = wctx.sub(s).dirtyreason(True)
raise error.Abort(dirtyreason)
- def fail(f, msg):
- raise error.Abort('%s: %s' % (f, msg))
-
- force = opts.get('force')
- if not force:
- vdirs = []
- match.explicitdir = vdirs.append
- match.bad = fail
-
if not force:
repo.checkcommitpatterns(wctx, vdirs, match, status, fail)
diffopts = patch.difffeatureopts(ui, opts=opts, whitespace=True,
--- a/tests/test-commit-interactive.t Fri May 03 20:06:03 2019 +0900
+++ b/tests/test-commit-interactive.t Mon May 06 22:10:34 2019 -0400
@@ -775,12 +775,24 @@
+10
+11
+Interactive commit can name a directory instead of files (issue6131)
$ mkdir subdir
+ $ echo a > subdir/a
+ $ hg ci -d '16 0' -i subdir -Amsubdir <<EOF
+ > y
+ > y
+ > EOF
+ adding subdir/a
+ diff --git a/subdir/a b/subdir/a
+ new file mode 100644
+ examine changes to 'subdir/a'? [Ynesfdaq?] y
+
+ @@ -0,0 +1,1 @@
+ +a
+ record this change to 'subdir/a'? [Ynesfdaq?] y
+
$ cd subdir
- $ echo a > a
- $ hg ci -d '16 0' -Amsubdir
- adding subdir/a
$ echo a >> a
$ hg commit -i -d '16 0' -m subdir-change a <<EOF