Mercurial > hg
changeset 31733:ae6bab095c66
rebase: abort hg pull --rebase if rebase.requiredest is set (issue5514)
Previously, the pull would succeed, but the subsequent rebase would fail due
to the rebase.requiredest flag. Now abort earlier with a more useful error
message.
author | Ryan McElroy <rmcelroy@fb.com> |
---|---|
date | Thu, 30 Mar 2017 03:50:10 -0700 |
parents | 9ddf875183b0 |
children | 44ff5e4ffc8c |
files | hgext/rebase.py tests/test-rebase-dest.t |
diffstat | 2 files changed, 7 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/rebase.py Thu Mar 30 03:50:10 2017 -0700 +++ b/hgext/rebase.py Thu Mar 30 03:50:10 2017 -0700 @@ -1362,6 +1362,11 @@ 'Call rebase after pull if the latter has been invoked with --rebase' ret = None if opts.get('rebase'): + if ui.configbool('commands', 'rebase.requiredest'): + msg = _('rebase destination required by configuration') + hint = _('use hg pull followed by hg rebase -d DEST') + raise error.Abort(msg, hint=hint) + wlock = lock = None try: wlock = repo.wlock()
--- a/tests/test-rebase-dest.t Thu Mar 30 03:50:10 2017 -0700 +++ b/tests/test-rebase-dest.t Thu Mar 30 03:50:10 2017 -0700 @@ -72,13 +72,7 @@ $ echo f > f $ hg commit -qAm ff $ hg pull --rebase - pulling from $TESTTMP/repo - searching for changes - adding changesets - adding manifests - adding file changes - added 1 changesets with 2 changes to 2 files (+1 heads) - abort: you must specify a destination - (use: hg rebase -d REV) + abort: rebase destination required by configuration + (use hg pull followed by hg rebase -d DEST) [255]