Mercurial > hg
changeset 17766:d9da327516f8
histedit: clean abort when there is nothing to edit
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Sun, 14 Oct 2012 23:58:02 +0200 |
parents | ef7760f0be87 |
children | a787e46d3b94 |
files | hgext/histedit.py tests/test-histedit-revspec.t |
diffstat | 2 files changed, 11 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/histedit.py Mon Oct 15 00:05:16 2012 +0200 +++ b/hgext/histedit.py Sun Oct 14 23:58:02 2012 +0200 @@ -455,6 +455,9 @@ keep = opts.get('keep', False) revs = between(repo, parent, topmost, keep) + if not revs: + ui.warn(_('nothing to edit\n')) + return 1 ctxs = [repo[r] for r in revs] rules = opts.get('commands', '') @@ -588,7 +591,7 @@ When keep is false, the specified set can't have children.""" ctxs = list(repo.set('%n::%n', old, new)) - if not keep: + if ctxs and not keep: if repo.revs('(%ld::) - (%ld + hidden())', ctxs, ctxs): raise util.Abort(_('cannot edit history that would orphan nodes')) root = min(ctxs)
--- a/tests/test-histedit-revspec.t Mon Oct 15 00:05:16 2012 +0200 +++ b/tests/test-histedit-revspec.t Sun Oct 14 23:58:02 2012 +0200 @@ -60,3 +60,10 @@ # 0 files updated, 0 files merged, 0 files removed, 0 files unresolved +Run on a revision not ancestors of the current working directory. + + $ hg up 2 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg histedit -r 4 + nothing to edit + [1]