uncommit: inform user if the commit is empty after uncommit
Differential Revision: https://phab.mercurial-scm.org/D5969
--- a/hgext/uncommit.py Thu Feb 14 15:35:47 2019 +0100
+++ b/hgext/uncommit.py Fri Feb 15 10:49:12 2019 -0800
@@ -64,11 +64,11 @@
if not exclude:
return None
- files = (initialfiles - exclude)
# return the p1 so that we don't create an obsmarker later
if not keepcommit:
return ctx.p1().node()
+ files = (initialfiles - exclude)
# Filter copies
copied = copiesmod.pathcopies(base, ctx)
copied = dict((dst, src) for dst, src in copied.iteritems()
@@ -83,6 +83,9 @@
copied=copied.get(path))
return mctx
+ if not files:
+ repo.ui.status(_("note: keeping empty commit\n"))
+
new = context.memctx(repo,
parents=[base.node(), node.nullid],
text=ctx.description(),
--- a/tests/test-uncommit.t Thu Feb 14 15:35:47 2019 +0100
+++ b/tests/test-uncommit.t Fri Feb 15 10:49:12 2019 -0800
@@ -158,6 +158,7 @@
abort: uncommitted changes
[255]
$ hg uncommit files
+ note: keeping empty commit
$ cat files
abcde
foo
@@ -281,6 +282,7 @@
Phase is preserved
$ hg uncommit --keep --config phases.new-commit=secret
+ note: keeping empty commit
$ hg phase -r .
15: draft
$ hg commit --amend -m 'update ab again'
@@ -317,6 +319,7 @@
> EOS
$ hg up Q -q
$ hg uncommit --keep
+ note: keeping empty commit
$ hg log -G -T '{desc} FILES: {files}'
@ Q FILES:
|