# HG changeset patch # User Pierre-Yves David # Date 1345724136 -7200 # Node ID 20e2f2dd71f1f1dc6201ec768af18d99f97e073f # Parent b12ff7ef35b10099215a3a74ab31dbaf88e94557 stabilize: conflicting changeset are considered if "." if not unstable changeset are found, the current parent directory may be stabilize if conflicting diff -r b12ff7ef35b1 -r 20e2f2dd71f1 hgext/evolve.py --- a/hgext/evolve.py Thu Aug 23 12:53:27 2012 +0200 +++ b/hgext/evolve.py Thu Aug 23 14:15:36 2012 +0200 @@ -278,6 +278,10 @@ def _picknexttroubled(ui, repo, any=False): """Pick a the next trouble changeset to solve""" tr = _stabilizableunstable(repo, repo['.']) + if tr is None: + wdp = repo['.'] + if 'conflicting' in wdp.troubles(): + tr = wdp if tr is None and any: troubled = list(repo.set('unstable()')) if not troubled: @@ -286,6 +290,7 @@ troubled = list(repo.set('conflicting()')) if troubled: tr = troubled[0] + return tr diff -r b12ff7ef35b1 -r 20e2f2dd71f1 tests/test-stabilize-result.t --- a/tests/test-stabilize-result.t Thu Aug 23 12:53:27 2012 +0200 +++ b/tests/test-stabilize-result.t Thu Aug 23 14:15:36 2012 +0200 @@ -99,6 +99,7 @@ Stabilize of late comer with different parent ================================================== + (the with same parent is handled in test-evolve.t) $ glog @@ -170,3 +171,51 @@ | o 0:07f494440405@default(public) bk:[] adda + +Stabilize of conflicting changeset with same parent +==================================================== + + + $ hg up 9 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ glog + o 14:1d94fef80e85@default(draft) bk:[] latecomer update to e3183e9c0961: + | + | @ 9:355c5cda4de1@default(draft) bk:[] add c + | | + o | 8:e3183e9c0961@default(public) bk:[] newer a + |/ + o 7:e8cc1b534401@default(public) bk:[changea] changea + | + o 0:07f494440405@default(public) bk:[] adda + + $ echo 'babar' >> a + $ hg amend + $ hg up 9 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + Working directory parent is obsolete + $ mv a a.old + $ echo 'jungle' > a + $ cat a.old >> a + $ rm a.old + $ hg amend + 2 new conflictings changesets + $ glog + @ 18:5d568f72d576@default(draft) bk:[] add c + | + | o 16:a311193de6c8@default(draft) bk:[] add c + |/ + | o 14:1d94fef80e85@default(draft) bk:[] latecomer update to e3183e9c0961: + | | + | o 8:e3183e9c0961@default(public) bk:[] newer a + |/ + o 7:e8cc1b534401@default(public) bk:[changea] changea + | + o 0:07f494440405@default(public) bk:[] adda + + +Stabilize It + + $ hg stabilize + conflicting not handled yet + [4]