commit: allow --interactive to work again when naming a directory (issue6131) stable
authorMatt Harbison <matt_harbison@yahoo.com>
Mon, 06 May 2019 22:10:34 -0400
branchstable
changeset 42253 e45c6b153e51
parent 42232 29798c9ba5c9
child 42263 ce5f1232631f
commit: allow --interactive to work again when naming a directory (issue6131)
mercurial/cmdutil.py
tests/test-commit-interactive.t
--- 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