Patchwork D5969: uncommit: inform user if the commit is empty after uncommit

login
register
mail settings
Submitter phabricator
Date Feb. 15, 2019, 8:20 p.m.
Message ID <6a97ed5da42a5680f094256a0b3aa3eb@localhost.localdomain>
Download mbox | patch
Permalink /patch/38767/
State Not Applicable
Headers show

Comments

phabricator - Feb. 15, 2019, 8:20 p.m.
martinvonz updated this revision to Diff 14108.
martinvonz marked an inline comment as done.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D5969?vs=14101&id=14108

REVISION DETAIL
  https://phab.mercurial-scm.org/D5969

AFFECTED FILES
  hgext/uncommit.py
  tests/test-uncommit.t

CHANGE DETAILS




To: martinvonz, #hg-reviewers
Cc: pulkit, mercurial-devel

Patch

diff --git a/tests/test-uncommit.t b/tests/test-uncommit.t
--- a/tests/test-uncommit.t
+++ b/tests/test-uncommit.t
@@ -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:
   |
diff --git a/hgext/uncommit.py b/hgext/uncommit.py
--- a/hgext/uncommit.py
+++ b/hgext/uncommit.py
@@ -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(),