# HG changeset patch # User Pierre-Yves David # Date 1562252157 -7200 # Node ID de194ed973ba756692c209c2d3dda49f90f55c63 # Parent c63f47a4f5ecefc64b616d117de6887037d445ab# Parent fcecbb1261f241f6b83f8630898873c3cf90a7a9 branching: merge with stable diff -r fcecbb1261f2 -r de194ed973ba CHANGELOG --- a/CHANGELOG Mon Jul 01 19:15:57 2019 +0530 +++ b/CHANGELOG Thu Jul 04 16:55:57 2019 +0200 @@ -1,6 +1,14 @@ Changelog ========= +9.1.0 - in progress +------------------- + + * evolve: use the same wording as core in case of unresolved conflict + * evolve: minor output message improvements + * evolve: improve `hg evolve --all` behavior when "." is obsolete + * topic: fix confusion in branch heads checking logic + 9.0.1 - in progress ------------------- diff -r fcecbb1261f2 -r de194ed973ba hgext3rd/evolve/__init__.py --- a/hgext3rd/evolve/__init__.py Mon Jul 01 19:15:57 2019 +0530 +++ b/hgext3rd/evolve/__init__.py Thu Jul 04 16:55:57 2019 +0200 @@ -1355,17 +1355,29 @@ @eh.uisetup def setupevolveunfinished(ui): - estate = ('evolvestate', False, False, _('evolve in progress'), - _("use 'hg evolve --continue' or 'hg evolve --abort' to abort")) - cmdutil.unfinishedstates.append(estate) - pstate = ('pickstate', False, False, _('pick in progress'), - _("use 'hg pick --continue' or 'hg pick --abort' to abort")) - cmdutil.unfinishedstates.append(pstate) + if not util.safehasattr(cmdutil, 'unfinishedstates'): + from mercurial import state as statemod + _msg = _('To continue: hg evolve --continue\n' + 'To abort: hg evolve --abort\n' + 'To stop: hg evolve --stop\n' + '(also see `hg help evolve.interrupted`)') + statemod.addunfinished('evolve', fname='evolvestate', + continueflag=True, stopflag=True, + statushint=_msg) + statemod.addunfinished('pick', fname='pickstate', continueflag=True) + else: + # compat <= hg-5.0 (5f2f6912c9e6) + estate = ('evolvestate', False, False, _('evolve in progress'), + _("use 'hg evolve --continue' or 'hg evolve --abort' to abort")) + cmdutil.unfinishedstates.append(estate) + pstate = ('pickstate', False, False, _('pick in progress'), + _("use 'hg pick --continue' or 'hg pick --abort' to abort")) + cmdutil.unfinishedstates.append(pstate) - afterresolved = ('evolvestate', _('hg evolve --continue')) - pickresolved = ('pickstate', _('hg pick --continue')) - cmdutil.afterresolvedstates.append(afterresolved) - cmdutil.afterresolvedstates.append(pickresolved) + afterresolved = ('evolvestate', _('hg evolve --continue')) + pickresolved = ('pickstate', _('hg pick --continue')) + cmdutil.afterresolvedstates.append(afterresolved) + cmdutil.afterresolvedstates.append(pickresolved) if util.safehasattr(cmdutil, 'STATES'): statedata = ('evolve', cmdutil.fileexistspredicate('evolvestate'), diff -r fcecbb1261f2 -r de194ed973ba hgext3rd/evolve/cmdrewrite.py --- a/hgext3rd/evolve/cmdrewrite.py Mon Jul 01 19:15:57 2019 +0530 +++ b/hgext3rd/evolve/cmdrewrite.py Thu Jul 04 16:55:57 2019 +0200 @@ -1438,8 +1438,7 @@ if opts.get('rev'): revs.append(opts['rev']) - overrides = {('ui', 'forcemerge'): opts.get('tool', '')} - with repo.wlock(), repo.lock(), ui.configoverride(overrides, 'pick'): + with repo.wlock(), repo.lock(): pickstate = state.cmdstate(repo, path='pickstate') pctx = repo['.'] @@ -1461,8 +1460,10 @@ ui.status(_('picking %d:%s "%s"\n') % (origctx.rev(), origctx, origctx.description().split("\n", 1)[0])) - stats = merge.graft(repo, origctx, origctx.p1(), ['local', - 'destination']) + overrides = {('ui', 'forcemerge'): opts.get('tool', '')} + with ui.configoverride(overrides, 'pick'): + stats = merge.graft(repo, origctx, origctx.p1(), + ['local', 'destination']) if compat.hasconflict(stats): pickstate.addopts({'orignode': origctx.node(), 'oldpctx': pctx.node()}) diff -r fcecbb1261f2 -r de194ed973ba hgext3rd/evolve/evolvecmd.py --- a/hgext3rd/evolve/evolvecmd.py Mon Jul 01 19:15:57 2019 +0530 +++ b/hgext3rd/evolve/evolvecmd.py Thu Jul 04 16:55:57 2019 +0200 @@ -217,7 +217,7 @@ displayer.show(bumped) repo.ui.write(_('atop:')) displayer.show(prec) - if confirm and ui.prompt('perform evolve? [Ny]', 'n') != 'y': + if confirm and ui.prompt(_('perform evolve? [Ny]'), 'n') != 'y': raise error.Abort(_('evolve aborted by user')) if dryrun: todo = 'hg rebase --rev %s --dest %s;\n' % (bumped, prec.p1()) @@ -578,8 +578,9 @@ # conflicts while merging content-divergent changesets if compat.hasconflict(stats): evolvestate.save() - raise error.InterventionRequired(_("fix conflicts and see `hg help " - "evolve.interrupted`")) + hint = _("see 'hg help evolve.interrupted'") + raise error.InterventionRequired(_("unresolved merge conflicts"), + hint=hint) def _completecontentdivergent(ui, repo, progresscb, divergent, other, base, evolvestate): @@ -984,8 +985,9 @@ copies.duplicatecopies(repo, repo[None], dest.rev(), orig.p1().rev()) dirstatedance(repo, dest, orig.node(), None) - raise error.InterventionRequired(_("fix conflicts and see `hg help " - "evolve.interrupted`")) + hint = _("see 'hg help evolve.interrupted'") + raise error.InterventionRequired(_("unresolved merge conflicts"), + hint=hint) nodenew = _relocatecommit(repo, orig, commitmsg) _finalizerelocate(repo, orig, dest, nodenew, tr, category, evolvestate) return nodenew @@ -1593,8 +1595,8 @@ situation: - `hg evolve --continue`: - fix all the conflicts using `hg resolve` and then run this to continue the - interrupted evolve + resolve all the conflicts using `hg resolve` and then run this to + continue the interrupted evolve - `hg evolve --stop`: stops the current interrupted evolve, keeping all the successful steps, @@ -1630,15 +1632,11 @@ return targetcat = 'orphan' - has_some_opts = bool(revopt or anyopt or allopt or contopt or stopopt or abortopt) if 1 < len(specifiedcategories): msg = _('cannot specify more than one trouble category to solve (yet)') raise error.Abort(msg) elif len(specifiedcategories) == 1: targetcat = specifiedcategories[0] - elif repo['.'].obsolete() and not has_some_opts: - # if no args and parent is obsolete, update to successors - return solveobswdp(ui, repo, opts) ui.setconfig('ui', 'forcemerge', opts.get('tool', ''), 'evolve') @@ -1665,7 +1663,7 @@ return elif abortopt: if not evolvestate: - raise error.Abort(_('no interrupted evolve to stop')) + raise error.Abort(_('no interrupted evolve to abort')) evolvestate.load() # `hg next --evolve` in play if evolvestate['command'] != 'evolve': @@ -1680,19 +1678,20 @@ else: cmdutil.bailifchanged(repo) + obswdir = repo['.'].obsolete() revs = _selectrevs(repo, allopt, revopt, anyopt, targetcat) - # Case: when wdir parent is obsolete and args passed. - # Handling it here otherwise `revs` set would change, after - # performing update to successor of obsolete wdir parent. - # (in case when user passes a revset related to wdir parent '.::') - if repo['.'].obsolete(): + if not (revs or obswdir): + return _handlenotrouble(ui, repo, allopt, revopt, anyopt, targetcat) + obswdironly = not revs and obswdir + + if obswdir: result = solveobswdp(ui, repo, opts) if result != 0 or result is True: + # return as solving obswdp wasn't successful return result - - if not revs: - return _handlenotrouble(ui, repo, allopt, revopt, anyopt, targetcat) + if obswdironly: + return 0 # Progress handling seen = 1 diff -r fcecbb1261f2 -r de194ed973ba hgext3rd/evolve/metadata.py --- a/hgext3rd/evolve/metadata.py Mon Jul 01 19:15:57 2019 +0530 +++ b/hgext3rd/evolve/metadata.py Thu Jul 04 16:55:57 2019 +0200 @@ -5,7 +5,7 @@ # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. -__version__ = '9.0.1.dev' +__version__ = '9.1.0.dev' testedwith = '4.5.2 4.6.2 4.7 4.8 4.9 5.0' minimumhgversion = '4.5' buglink = 'https://bz.mercurial-scm.org/' diff -r fcecbb1261f2 -r de194ed973ba hgext3rd/topic/__init__.py --- a/hgext3rd/topic/__init__.py Mon Jul 01 19:15:57 2019 +0530 +++ b/hgext3rd/topic/__init__.py Thu Jul 04 16:55:57 2019 +0200 @@ -186,7 +186,7 @@ 'topic.active': 'green', } -__version__ = '0.15.1.dev' +__version__ = '0.16.0.dev' testedwith = '4.5.2 4.6.2 4.7 4.8 4.9 5.0' minimumhgversion = '4.5' @@ -436,6 +436,15 @@ return super(topicrepo, self).branchmap() return self.filtered(topicfilter).branchmap() + def branchheads(self, branch=None, start=None, closed=False): + if branch is None: + branch = self[None].branch() + if self.currenttopic: + branch = "%s:%s" % (branch, self.currenttopic) + return super(topicrepo, self).branchheads(branch=branch, + start=start, + closed=closed) + def invalidatevolatilesets(self): # XXX we might be able to move this to something invalidated less often super(topicrepo, self).invalidatevolatilesets() diff -r fcecbb1261f2 -r de194ed973ba hgext3rd/topic/topicmap.py --- a/hgext3rd/topic/topicmap.py Mon Jul 01 19:15:57 2019 +0530 +++ b/hgext3rd/topic/topicmap.py Thu Jul 04 16:55:57 2019 +0200 @@ -100,8 +100,7 @@ # wrap commit status use the topic branch heads ctx = repo[node] if ctx.topic() and ctx.branch() == branch: - subbranch = "%s:%s" % (branch, ctx.topic()) - bheads = repo.branchheads("%s:%s" % (subbranch, ctx.topic())) + bheads = repo.branchheads("%s:%s" % (branch, ctx.topic())) ret = orig(repo, node, branch, bheads=bheads, opts=opts) diff -r fcecbb1261f2 -r de194ed973ba tests/test-evolve-abort-orphan.t --- a/tests/test-evolve-abort-orphan.t Mon Jul 01 19:15:57 2019 +0530 +++ b/tests/test-evolve-abort-orphan.t Thu Jul 04 16:55:57 2019 +0200 @@ -42,7 +42,7 @@ ============================================= $ hg evolve --abort - abort: no interrupted evolve to stop + abort: no interrupted evolve to abort [255] Testing with wrong combination of flags @@ -85,7 +85,8 @@ atop:[5] added c merging d warning: conflicts while merging d! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg parents @@ -132,7 +133,8 @@ atop:[5] added c merging d warning: conflicts while merging d! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ echo foo > d $ hg resolve -m @@ -159,7 +161,8 @@ move:[5] added c merging c warning: conflicts while merging c! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] testing that interrupted evolve shows up in morestatus @@ -270,7 +273,8 @@ atop:[7] added a merging a warning: conflicts while merging a! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg glog @@ -334,7 +338,8 @@ atop:[7] added a merging a warning: conflicts while merging a! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg glog o 9:7f8e8bd9f0b6 added c @@ -411,7 +416,8 @@ atop:[7] added a merging a warning: conflicts while merging a! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg glog @@ -486,7 +492,8 @@ move:[3] added c merging c warning: conflicts while merging c! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg glog @@ -532,7 +539,8 @@ atop:[5] added b merging c warning: conflicts while merging c! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg evolve --abort diff -r fcecbb1261f2 -r de194ed973ba tests/test-evolve-abort-phasediv.t --- a/tests/test-evolve-abort-phasediv.t Mon Jul 01 19:15:57 2019 +0530 +++ b/tests/test-evolve-abort-phasediv.t Thu Jul 04 16:55:57 2019 +0200 @@ -87,7 +87,8 @@ rebasing to destination parent: ca1b80f7960a merging c warning: conflicts while merging c! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] testing that interrupted evolve shows up in morestatus @@ -213,7 +214,8 @@ rebasing to destination parent: b1661037fa25 merging b warning: conflicts while merging b! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg evolve --abort @@ -282,7 +284,8 @@ rebasing to destination parent: b1661037fa25 merging b warning: conflicts while merging b! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ echo watwat > c @@ -297,7 +300,8 @@ rebasing to destination parent: ca1b80f7960a merging c warning: conflicts while merging c! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg evolve --abort diff -r fcecbb1261f2 -r de194ed973ba tests/test-evolve-content-divergent-basic.t --- a/tests/test-evolve-content-divergent-basic.t Mon Jul 01 19:15:57 2019 +0530 +++ b/tests/test-evolve-content-divergent-basic.t Thu Jul 04 16:55:57 2019 +0200 @@ -340,7 +340,8 @@ merging d warning: conflicts while merging d! (edit, then use 'hg resolve --mark') 0 files updated, 0 files merged, 0 files removed, 1 files unresolved - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ echo foobar > d @@ -399,7 +400,8 @@ merging d warning: conflicts while merging d! (edit, then use 'hg resolve --mark') 0 files updated, 0 files merged, 0 files removed, 1 files unresolved - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ echo watbar > d @@ -609,7 +611,8 @@ merging a warning: conflicts while merging a! (edit, then use 'hg resolve --mark') 0 files updated, 0 files merged, 0 files removed, 1 files unresolved - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ cat > a < y @@ -389,7 +390,8 @@ rebasing "other" content-divergent changeset 3f7a1f693080 on 7bbcf24ddecf merging y warning: conflicts while merging y! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg diff @@ -418,7 +420,8 @@ merging y warning: conflicts while merging y! (edit, then use 'hg resolve --mark') 0 files updated, 0 files merged, 0 files removed, 1 files unresolved - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg diff diff -r fcecbb1261f2 -r de194ed973ba tests/test-evolve-continue.t --- a/tests/test-evolve-continue.t Mon Jul 01 19:15:57 2019 +0530 +++ b/tests/test-evolve-continue.t Thu Jul 04 16:55:57 2019 +0200 @@ -58,7 +58,8 @@ atop:[5] added c merging d warning: conflicts while merging d! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ echo foo > d @@ -118,7 +119,8 @@ atop:[8] added d merging e warning: conflicts while merging e! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ echo bar > e @@ -158,7 +160,8 @@ atop:[9] added a merging b warning: conflicts while merging b! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ echo foo > b @@ -242,7 +245,8 @@ move:[13] added f merging f warning: conflicts while merging f! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ echo foo > f @@ -256,7 +260,8 @@ move:[15] added h merging h warning: conflicts while merging h! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ echo foo > h @@ -302,7 +307,8 @@ perform evolve? [Ny] y merging g warning: conflicts while merging g! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ echo foo > g @@ -350,7 +356,8 @@ atop:[24] added f merging g warning: conflicts while merging g! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ echo foo > g $ hg resolve -m @@ -416,7 +423,8 @@ atop:[5] added c merging c warning: conflicts while merging c! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] Status mentions file 'b' (copied from 'a') here, even though it wasn't diff -r fcecbb1261f2 -r de194ed973ba tests/test-evolve-issue5966.t --- a/tests/test-evolve-issue5966.t Mon Jul 01 19:15:57 2019 +0530 +++ b/tests/test-evolve-issue5966.t Thu Jul 04 16:55:57 2019 +0200 @@ -57,7 +57,8 @@ $ hg evolve -t :fail --rev 'first(orphan())' move:[2] banana atop:[4] apricot - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg evolve --list 34a690fcf6ab: banana diff -r fcecbb1261f2 -r de194ed973ba tests/test-evolve-issue5967.t --- a/tests/test-evolve-issue5967.t Mon Jul 01 19:15:57 2019 +0530 +++ b/tests/test-evolve-issue5967.t Thu Jul 04 16:55:57 2019 +0200 @@ -41,7 +41,8 @@ atop:[2] apricot merging a warning: conflicts while merging a! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ echo apricot > a diff -r fcecbb1261f2 -r de194ed973ba tests/test-evolve-orphan-merge.t --- a/tests/test-evolve-orphan-merge.t Mon Jul 01 19:15:57 2019 +0530 +++ b/tests/test-evolve-orphan-merge.t Thu Jul 04 16:55:57 2019 +0200 @@ -219,7 +219,8 @@ atop:[11] foo to c merging c warning: conflicts while merging c! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ echo FOObar > c @@ -274,7 +275,8 @@ atop:[13] foo to c merging c warning: conflicts while merging c! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ echo foobar > c diff -r fcecbb1261f2 -r de194ed973ba tests/test-evolve-phase-divergence.t --- a/tests/test-evolve-phase-divergence.t Mon Jul 01 19:15:57 2019 +0530 +++ b/tests/test-evolve-phase-divergence.t Thu Jul 04 16:55:57 2019 +0200 @@ -807,7 +807,8 @@ rebasing to destination parent: 8c2bb6fb44e9 merging x warning: conflicts while merging x! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg diff diff -r fcecbb1261f2 -r de194ed973ba tests/test-evolve-phase.t --- a/tests/test-evolve-phase.t Mon Jul 01 19:15:57 2019 +0530 +++ b/tests/test-evolve-phase.t Thu Jul 04 16:55:57 2019 +0200 @@ -85,7 +85,8 @@ atop:[3] b merging a warning: conflicts while merging a! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg diff diff -r fcecbb1261f2 -r de194ed973ba tests/test-evolve-progress.t --- a/tests/test-evolve-progress.t Mon Jul 01 19:15:57 2019 +0530 +++ b/tests/test-evolve-progress.t Thu Jul 04 16:55:57 2019 +0200 @@ -28,7 +28,6 @@ atop:[4] first v2 hg rebase -r 4f60c78b6d58 -d fd0a2402f834 evolve: 1/3 changesets (33.33%) - searching for copies back to rev 0 resolving manifests branchmerge: True, force: True, partial: False ancestor: a87874c6ec31, local: fd0a2402f834+, remote: 4f60c78b6d58 @@ -43,10 +42,7 @@ move:[2] third hg rebase -r 769574b07a96 -d 5f16d91ecde0 evolve: 2/3 changesets (66.67%) - searching for copies back to rev 0 - unmatched files in other (from base): - b - unmatched files in other (from topological common ancestor): + unmatched files in other: b resolving manifests branchmerge: True, force: True, partial: False @@ -62,7 +58,6 @@ move:[3] fourth hg rebase -r 22782fddc0ab -d 53c0008d98a0 evolve: 3/3 changesets (100.00%) - searching for copies back to rev 0 resolving manifests branchmerge: True, force: True, partial: False ancestor: 769574b07a96, local: 53c0008d98a0+, remote: 22782fddc0ab @@ -96,7 +91,6 @@ atop:[8] first v3 hg rebase -r 5f16d91ecde0 -d 152c368c622b evolve: 1/1 changesets (100.00%) - searching for copies back to rev 4 resolving manifests branchmerge: True, force: True, partial: False ancestor: fd0a2402f834, local: 152c368c622b+, remote: 5f16d91ecde0 @@ -127,7 +121,6 @@ atop:[10] first v4 hg rebase -r df5d742141b0 -d f8d7d38c0a88 evolve: 1/3 changesets (33.33%) - searching for copies back to rev 8 resolving manifests branchmerge: True, force: True, partial: False ancestor: 152c368c622b, local: f8d7d38c0a88+, remote: df5d742141b0 @@ -142,7 +135,8 @@ picked tool ':merge' for a (binary False symlink False changedelete False) my a@f8d7d38c0a88+ other a@df5d742141b0 ancestor a@152c368c622b warning: conflicts while merging a! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ echo resolved > a $ hg resolve -m a @@ -160,10 +154,7 @@ atop:[11] second hg rebase -r 53c0008d98a0 -d 60a86497fbfe evolve: 2/3 changesets (66.67%) - searching for copies back to rev 4 - unmatched files in other (from base): - b - unmatched files in other (from topological common ancestor): + unmatched files in other: b resolving manifests branchmerge: True, force: True, partial: False @@ -178,7 +169,6 @@ move:[7] fourth hg rebase -r 385376d04062 -d b2de95304e32 evolve: 3/3 changesets (100.00%) - searching for copies back to rev 4 resolving manifests branchmerge: True, force: True, partial: False ancestor: 53c0008d98a0, local: b2de95304e32+, remote: 385376d04062 diff -r fcecbb1261f2 -r de194ed973ba tests/test-evolve-public-content-divergent-corner-cases.t --- a/tests/test-evolve-public-content-divergent-corner-cases.t Mon Jul 01 19:15:57 2019 +0530 +++ b/tests/test-evolve-public-content-divergent-corner-cases.t Thu Jul 04 16:55:57 2019 +0200 @@ -389,7 +389,8 @@ rebasing "other" content-divergent changeset e568fd1029bb on 155349b645be merging c warning: conflicts while merging c! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg diff @@ -419,7 +420,8 @@ What do you want to do? use (c)hanged version, (d)elete, or leave (u)nresolved? u 1 files updated, 0 files merged, 0 files removed, 1 files unresolved - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg sum diff -r fcecbb1261f2 -r de194ed973ba tests/test-evolve-public-content-divergent-discard.t --- a/tests/test-evolve-public-content-divergent-discard.t Mon Jul 01 19:15:57 2019 +0530 +++ b/tests/test-evolve-public-content-divergent-discard.t Thu Jul 04 16:55:57 2019 +0200 @@ -269,7 +269,8 @@ merging ch warning: conflicts while merging ch! (edit, then use 'hg resolve --mark') 0 files updated, 0 files merged, 0 files removed, 1 files unresolved - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg diff @@ -383,7 +384,8 @@ rebasing "other" content-divergent changeset f89a8e2f86ac on 155349b645be merging c warning: conflicts while merging c! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ echo c > c @@ -488,7 +490,8 @@ merging dh warning: conflicts while merging dh! (edit, then use 'hg resolve --mark') 0 files updated, 0 files merged, 0 files removed, 1 files unresolved - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ echo dh > dh @@ -591,7 +594,8 @@ rebasing "other" content-divergent changeset 67b19bbd770f on 155349b645be merging c warning: conflicts while merging c! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ echo c > c @@ -604,7 +608,8 @@ merging dh warning: conflicts while merging dh! (edit, then use 'hg resolve --mark') 0 files updated, 0 files merged, 0 files removed, 1 files unresolved - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ echo dh > dh diff -r fcecbb1261f2 -r de194ed973ba tests/test-evolve-public-content-divergent-main.t --- a/tests/test-evolve-public-content-divergent-main.t Mon Jul 01 19:15:57 2019 +0530 +++ b/tests/test-evolve-public-content-divergent-main.t Thu Jul 04 16:55:57 2019 +0200 @@ -170,7 +170,8 @@ merging b warning: conflicts while merging b! (edit, then use 'hg resolve --mark') 0 files updated, 0 files merged, 0 files removed, 1 files unresolved - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ echo "I am foobar" > b @@ -356,7 +357,8 @@ rebasing "other" content-divergent changeset f31bcc378766 on 155349b645be merging c warning: conflicts while merging c! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg diff @@ -486,7 +488,8 @@ merging d warning: conflicts while merging d! (edit, then use 'hg resolve --mark') 0 files updated, 0 files merged, 0 files removed, 1 files unresolved - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ echo d > d @@ -578,7 +581,8 @@ rebasing "other" content-divergent changeset 3c17c7afaf6e on 155349b645be merging c warning: conflicts while merging c! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg diff @@ -612,7 +616,8 @@ merging d warning: conflicts while merging d! (edit, then use 'hg resolve --mark') 2 files updated, 0 files merged, 0 files removed, 1 files unresolved - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ echo d > d diff -r fcecbb1261f2 -r de194ed973ba tests/test-evolve-stop-orphan.t --- a/tests/test-evolve-stop-orphan.t Mon Jul 01 19:15:57 2019 +0530 +++ b/tests/test-evolve-stop-orphan.t Thu Jul 04 16:55:57 2019 +0200 @@ -90,7 +90,8 @@ atop:[5] added c merging d warning: conflicts while merging d! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg evolve --stop @@ -135,7 +136,8 @@ atop:[5] added c merging d warning: conflicts while merging d! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg diff @@ -196,7 +198,8 @@ atop:[5] added c merging d warning: conflicts while merging d! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ echo foo > d $ hg resolve -m @@ -245,7 +248,8 @@ move:[5] added c merging c warning: conflicts while merging c! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg status @@ -282,7 +286,8 @@ atop:[9] added b merging c warning: conflicts while merging c! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ echo foobar > c @@ -357,7 +362,8 @@ move:[10] added c merging c warning: conflicts while merging c! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg evolve --stop diff -r fcecbb1261f2 -r de194ed973ba tests/test-evolve-stop-phasediv.t --- a/tests/test-evolve-stop-phasediv.t Mon Jul 01 19:15:57 2019 +0530 +++ b/tests/test-evolve-stop-phasediv.t Thu Jul 04 16:55:57 2019 +0200 @@ -84,7 +84,8 @@ rebasing to destination parent: ca1b80f7960a merging c warning: conflicts while merging c! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg evolve --stop diff -r fcecbb1261f2 -r de194ed973ba tests/test-evolve-topic.t --- a/tests/test-evolve-topic.t Mon Jul 01 19:15:57 2019 +0530 +++ b/tests/test-evolve-topic.t Thu Jul 04 16:55:57 2019 +0200 @@ -426,7 +426,8 @@ move:[s3] add hhh merging hhh warning: conflicts while merging hhh! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ echo "resolved hhh" > hhh $ hg resolve --mark hhh @@ -438,3 +439,22 @@ atop:[s3] add hhh move:[s5] add jjj working directory is now at 2c295936ac04 + +Test to make sure that evolve don't crash with FilteredRepoLookupError when obsolete revs are in play: +------------------------------------------------------------------------------------------------------ + +update to obsolete revision + $ hg up -r 'min(desc("add fff"))' --hidden + switching to topic foo + 2 files updated, 0 files merged, 1 files removed, 0 files unresolved + updated to hidden changeset 6a6b7365c751 + (hidden revision '6a6b7365c751' was rewritten as: 2c295936ac04) + working directory parent is obsolete! (6a6b7365c751) + (use 'hg evolve' to update to its successor: 2c295936ac04) + +Evolve: + $ hg evolve + update:[26] add fff + switching to topic bar + 3 files updated, 0 files merged, 0 files removed, 0 files unresolved + working directory is now at 2c295936ac04 diff -r fcecbb1261f2 -r de194ed973ba tests/test-evolve.t --- a/tests/test-evolve.t Mon Jul 01 19:15:57 2019 +0530 +++ b/tests/test-evolve.t Thu Jul 04 16:55:57 2019 +0200 @@ -1389,7 +1389,8 @@ move:[31] will cause conflict at evolve merging newfile warning: conflicts while merging newfile! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ glog -r "desc('add unstableifparentisfolded')::" --hidden @@ -1441,7 +1442,6 @@ update:[1] added a 1 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory is now at ab832e43dd5a - no troubled changesets $ hg log -GT "{rev}:{node|short} {desc} ({bookmarks})\n" --hidden @ 1:ab832e43dd5a added a (book) diff -r fcecbb1261f2 -r de194ed973ba tests/test-issue-5720.t --- a/tests/test-issue-5720.t Mon Jul 01 19:15:57 2019 +0530 +++ b/tests/test-issue-5720.t Thu Jul 04 16:55:57 2019 +0200 @@ -61,7 +61,8 @@ atop:[3] b merging a warning: conflicts while merging a! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] Fix the conflict diff -r fcecbb1261f2 -r de194ed973ba tests/test-stabilize-conflict.t --- a/tests/test-stabilize-conflict.t Mon Jul 01 19:15:57 2019 +0530 +++ b/tests/test-stabilize-conflict.t Thu Jul 04 16:55:57 2019 +0200 @@ -128,7 +128,8 @@ atop:[5] babar count up to ten merging babar warning: conflicts while merging babar! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg resolve -l U babar @@ -220,7 +221,8 @@ output file babar appears unchanged was merge successful (yn)? n merging babar failed! - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg resolve -l U babar diff -r fcecbb1261f2 -r de194ed973ba tests/test-topic-stack-data.t --- a/tests/test-topic-stack-data.t Mon Jul 01 19:15:57 2019 +0530 +++ b/tests/test-topic-stack-data.t Thu Jul 04 16:55:57 2019 +0200 @@ -116,7 +116,7 @@ add foo_b branch: lake commit: (clean) - update: 2 new changesets (update) + update: (current) phases: 22 draft orphan: 3 changesets topic: foo diff -r fcecbb1261f2 -r de194ed973ba tests/test-topic-stack.t --- a/tests/test-topic-stack.t Mon Jul 01 19:15:57 2019 +0530 +++ b/tests/test-topic-stack.t Thu Jul 04 16:55:57 2019 +0200 @@ -315,7 +315,7 @@ c_d branch: default commit: (clean) - update: (current) + update: 2 new changesets (update) phases: 4 draft topic: foo diff -r fcecbb1261f2 -r de194ed973ba tests/test-topic.t --- a/tests/test-topic.t Mon Jul 01 19:15:57 2019 +0530 +++ b/tests/test-topic.t Thu Jul 04 16:55:57 2019 +0200 @@ -1066,3 +1066,27 @@ abort: cannot use --age while setting a topic [255] $ cd .. + +Test that topics doesn't confuse branchheads checking logic +----------------------------------------------------------- + + $ hg init hgtags + $ cd hgtags + $ echo a > a + $ hg ci -Am "added a" --config experimental.topic-mode=default + adding a + $ echo b > b + $ hg ci -Am "added b" --config experimental.topic-mode=default + adding b + + $ hg topic foo -r . + switching to topic foo + changed topic on 1 changesets to "foo" + +Try to put a tag on current rev which also has an active topic: + $ hg tag 1.0 + $ hg tags + tip 3:9efc5c3ac635 + 1.0 2:3bbb3fdb2546 + + $ cd .. diff -r fcecbb1261f2 -r de194ed973ba tests/test-tutorial.t --- a/tests/test-tutorial.t Mon Jul 01 19:15:57 2019 +0530 +++ b/tests/test-tutorial.t Thu Jul 04 16:55:57 2019 +0200 @@ -1528,7 +1528,6 @@ update:[8] animals 1 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory is now at 2a2b36e14660 - no troubled changesets Relocating unstable change after prune ---------------------------------------------- diff -r fcecbb1261f2 -r de194ed973ba tests/test-unstability-resolution-result.t --- a/tests/test-unstability-resolution-result.t Mon Jul 01 19:15:57 2019 +0530 +++ b/tests/test-unstability-resolution-result.t Thu Jul 04 16:55:57 2019 +0200 @@ -90,7 +90,8 @@ atop:[5] changea merging a warning: conflicts while merging a! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` + unresolved merge conflicts + (see 'hg help evolve.interrupted') [1] $ hg revert -r "orphan()" a $ hg diff