[PATCH stable] rebase: empty revset should be a gentle no-op with exit code 1, not an error
Mads Kiilerich
mads at kiilerich.com
Thu May 1 15:00:52 UTC 2014
# HG changeset patch
# User Mads Kiilerich <madski at unity3d.com>
# Date 1398955670 -7200
# Thu May 01 16:47:50 2014 +0200
# Branch stable
# Node ID 1b9a7c7221b195d8ebcb8632dcb4ea571a6f1676
# Parent e2031c8ca4f8939a21fea454cb64b7a2744d9c8d
rebase: empty revset should be a gentle no-op with exit code 1, not an error
diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -228,15 +228,17 @@ def rebase(ui, repo, **opts):
elif srcf:
src = scmutil.revrange(repo, [srcf])
if not src:
- raise util.Abort(_('empty "source" revision set - '
- 'nothing to rebase'))
+ ui.status(_('empty "source" revision set - '
+ 'nothing to rebase\n'))
+ return 1
rebaseset = repo.revs('(%ld)::', src)
assert rebaseset
else:
base = scmutil.revrange(repo, [basef or '.'])
if not base:
- raise util.Abort(_('empty "base" revision set - '
- "can't compute rebase set"))
+ ui.status(_('empty "base" revision set - '
+ "can't compute rebase set\n"))
+ return 1
rebaseset = repo.revs(
'(children(ancestor(%ld, %d)) and ::(%ld))::',
base, dest, base)
diff --git a/tests/test-rebase-parameters.t b/tests/test-rebase-parameters.t
--- a/tests/test-rebase-parameters.t
+++ b/tests/test-rebase-parameters.t
@@ -84,12 +84,12 @@ These fail:
[1]
$ hg rebase --source '1 & !1'
- abort: empty "source" revision set - nothing to rebase
- [255]
+ empty "source" revision set - nothing to rebase
+ [1]
$ hg rebase --base '1 & !1'
- abort: empty "base" revision set - can't compute rebase set
- [255]
+ empty "base" revision set - can't compute rebase set
+ [1]
$ hg rebase
nothing to rebase - working directory parent is also destination
More information about the Mercurial-devel
mailing list