Mercurial > public > mercurial-scm > hg-stable
diff hgext/uncommit.py @ 36978:28ba7d111337
uncommit: leave empty commit if all files are uncommitted
We had instructions for our internal users to add copy information
after commit like this:
hg uncommit <srcfile> <dstfile>
hg cp --after <srcfile> <dstfile>
hg amend
That usually works, but if the rename was the only change in that
commit, then the commit would get pruned. It's easy to fix the recipe:
just pass the --keep option. However, it seems too subtle, so I think
this is an indication that the commit should not be pruned if any
patterns were given.
Differential Revision: https://phab.mercurial-scm.org/D2862
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Wed, 14 Mar 2018 11:16:49 -0700 |
parents | 3d0178bf1039 |
children | d63c5c651183 |
line wrap: on
line diff
--- a/hgext/uncommit.py Sat Mar 17 00:06:14 2018 +0900 +++ b/hgext/uncommit.py Wed Mar 14 11:16:49 2018 -0700 @@ -166,7 +166,8 @@ with repo.transaction('uncommit'): match = scmutil.match(old, pats, opts) - newid = _commitfiltered(repo, old, match, opts.get('keep')) + allowempty = opts.get('keep') or pats + newid = _commitfiltered(repo, old, match, allowempty) if newid is None: ui.status(_("nothing to uncommit\n")) return 1