Mercurial > hg
changeset 18073:e411fd79ca69
obsolete: refuse to push divergent changeset
As other troubles `unstable` and `bumped`. Followup patches may simplify the
push code with unification of "obsolescence troubles" handling.
author | Pierre-Yves David <pierre-yves.david@logilab.fr> |
---|---|
date | Sat, 10 Nov 2012 02:19:20 +0100 |
parents | 03604f46d48a |
children | 8c9a52492d42 |
files | mercurial/localrepo.py tests/test-obsolete-divergent.t |
diffstat | 2 files changed, 13 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/localrepo.py Wed Dec 12 03:20:49 2012 +0100 +++ b/mercurial/localrepo.py Sat Nov 10 02:19:20 2012 +0100 @@ -1918,6 +1918,7 @@ mso = _("push includes obsolete changeset: %s!") msu = _("push includes unstable changeset: %s!") msb = _("push includes bumped changeset: %s!") + msd = _("push includes divergent changeset: %s!") # If we are to push if there is at least one # obsolete or unstable changeset in missing, at # least one of the missinghead will be obsolete or @@ -1930,6 +1931,8 @@ raise util.Abort(msu % ctx) elif ctx.bumped(): raise util.Abort(msb % ctx) + elif ctx.divergent(): + raise util.Abort(msd % ctx) discovery.checkheads(unfi, remote, outgoing, remoteheads, newbranch, bool(inc))
--- a/tests/test-obsolete-divergent.t Wed Dec 12 03:20:49 2012 +0100 +++ b/tests/test-obsolete-divergent.t Sat Nov 10 02:19:20 2012 +0100 @@ -84,6 +84,16 @@ $ hg log -r 'divergent()' 2:82623d38b9ba A_1 3:392fd25390da A_2 + +check that mercurial refuse to push + + $ hg init ../other + $ hg push ../other + pushing to ../other + searching for changes + abort: push includes divergent changeset: 82623d38b9ba! + [255] + $ cd ..