# HG changeset patch # User Ryan McElroy # Date 2015-10-13 10:20:05 # Node ID 66dc39cd7d06f92d0b4fe31c56f751c7db3c98b4 # Parent ab2cd800f1b078eac1fc700c704dc9e5928952fa rebase: factor out nothing to rebase return code A rebase call that results in nothing to rebase might be considered successful in some contexts. This factors out the return code from places where hg determines that there is nothing to rebase, so an extenion might change this return code to be something that would allow scripts to run without seeing this as an error. diff --git a/hgext/rebase.py b/hgext/rebase.py --- a/hgext/rebase.py +++ b/hgext/rebase.py @@ -41,6 +41,9 @@ command = cmdutil.command(cmdtable) # leave the attribute unspecified. testedwith = 'internal' +def _nothingtorebase(): + return 1 + def _savegraft(ctx, extra): s = ctx.extra().get('source', None) if s is not None: @@ -290,13 +293,13 @@ def rebase(ui, repo, **opts): if not rebaseset: ui.status(_('empty "rev" revision set - ' 'nothing to rebase\n')) - return 1 + return _nothingtorebase() elif srcf: src = scmutil.revrange(repo, [srcf]) if not src: ui.status(_('empty "source" revision set - ' 'nothing to rebase\n')) - return 1 + return _nothingtorebase() rebaseset = repo.revs('(%ld)::', src) assert rebaseset else: @@ -304,7 +307,7 @@ def rebase(ui, repo, **opts): if not base: ui.status(_('empty "base" revision set - ' "can't compute rebase set\n")) - return 1 + return _nothingtorebase() commonanc = repo.revs('ancestor(%ld, %d)', base, dest).first() if commonanc is not None: rebaseset = repo.revs('(%d::(%ld) - %d)::', @@ -337,7 +340,7 @@ def rebase(ui, repo, **opts): else: # can it happen? ui.status(_('nothing to rebase from %s to %s\n') % ('+'.join(str(repo[r]) for r in base), dest)) - return 1 + return _nothingtorebase() allowunstable = obsolete.isenabled(repo, obsolete.allowunstableopt) if (not (keepf or allowunstable) @@ -365,7 +368,7 @@ def rebase(ui, repo, **opts): if not result: # Empty state built, nothing to rebase ui.status(_('nothing to rebase\n')) - return 1 + return _nothingtorebase() root = min(rebaseset) if not keepf and not repo[root].mutable():