Patchwork D2891: uncommit: simplify condition for keeping commit

login
register
mail settings
Submitter phabricator
Date March 17, 2018, 5:14 p.m.
Message ID <differential-rev-PHID-DREV-zfce4hboov47f5wvsdvc-req@phab.mercurial-scm.org>
Download mbox | patch
Permalink /patch/29582/
State Superseded
Headers show

Comments

phabricator - March 17, 2018, 5:14 p.m.
martinvonz created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  We used to keep the commit if it would have become empty and --keep
  was not passed. Since we just changed it so we also keep it if any
  patterns were passed on the command line, the only remaining case
  where we prune the commit is when no arguments were passed and --keep
  was not passed either, we can simplify the "not files and not
  allowempty" to just "not allowempty". Let's also rename "allowempty"
  to "keepcommit" since it's no longer about allowing an empty commit.

REPOSITORY
  rHG Mercurial

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

AFFECTED FILES
  hgext/uncommit.py

CHANGE DETAILS




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

Patch

diff --git a/hgext/uncommit.py b/hgext/uncommit.py
--- a/hgext/uncommit.py
+++ b/hgext/uncommit.py
@@ -51,7 +51,7 @@ 
 # leave the attribute unspecified.
 testedwith = 'ships-with-hg-core'
 
-def _commitfiltered(repo, ctx, match, allowempty):
+def _commitfiltered(repo, ctx, match, keepcommit):
     """Recommit ctx with changed files not in match. Return the new
     node identifier, or None if nothing changed.
     """
@@ -66,7 +66,7 @@ 
 
     files = (initialfiles - exclude)
     # return the p1 so that we don't create an obsmarker later
-    if not files and not allowempty:
+    if not keepcommit:
         return ctx.parents()[0].node()
 
     # Filter copies
@@ -169,8 +169,8 @@ 
 
         with repo.transaction('uncommit'):
             match = scmutil.match(old, pats, opts)
-            allowempty = opts.get('keep') or pats
-            newid = _commitfiltered(repo, old, match, allowempty)
+            keepcommit = opts.get('keep') or pats
+            newid = _commitfiltered(repo, old, match, keepcommit)
             if newid is None:
                 ui.status(_("nothing to uncommit\n"))
                 return 1