# HG changeset patch # User Matt Harbison # Date 1557195034 14400 # Node ID e45c6b153e5157be5518f671b22f99fbab52e792 # Parent 29798c9ba5c96d9a5b711614e6979beea927009a commit: allow --interactive to work again when naming a directory (issue6131) diff -r 29798c9ba5c9 -r e45c6b153e51 mercurial/cmdutil.py --- 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, diff -r 29798c9ba5c9 -r e45c6b153e51 tests/test-commit-interactive.t --- 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 < 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 <