# HG changeset patch # User Ryan McElroy # Date 1444731605 25200 # 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 -r ab2cd800f1b0 -r 66dc39cd7d06 hgext/rebase.py --- a/hgext/rebase.py Thu Oct 15 00:04:58 2015 +0800 +++ b/hgext/rebase.py Tue Oct 13 03:20:05 2015 -0700 @@ -41,6 +41,9 @@ # 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 @@ 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 @@ 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 @@ 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 @@ 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():