Submitter | phabricator |
---|---|
Date | Dec. 23, 2018, 12:47 p.m. |
Message ID | <68eb95f46326d9cbe83d4c29bb70e0a0@localhost.localdomain> |
Download | mbox | patch |
Permalink | /patch/37335/ |
State | Not Applicable |
Headers | show |
Comments
Ready for review. On Sun 23 Dec, 2018, 6:19 PM khanchi97 (Sushil khanchi) < phabricator@mercurial-scm.org wrote: > khanchi97 updated this revision to Diff 12962. > > REPOSITORY > rHG Mercurial > > CHANGES SINCE LAST UPDATE > https://phab.mercurial-scm.org/D5474?vs=12956&id=12962 > > REVISION DETAIL > https://phab.mercurial-scm.org/D5474 > > AFFECTED FILES > mercurial/obsutil.py > tests/test-obsmarker-template.t > tests/test-obsolete.t > > CHANGE DETAILS > > diff --git a/tests/test-obsolete.t b/tests/test-obsolete.t > --- a/tests/test-obsolete.t > +++ b/tests/test-obsolete.t > @@ -935,38 +935,38 @@ > $ rm access.log errors.log > #endif > > -Several troubles on the same changeset (create an unstable and bumped > changeset) > +Several troubles on the same changeset (create an unstable and bumped and > content-divergent changeset) > > $ hg debugobsolete `getid obsolete_e` > obsoleted 1 changesets > 2 new orphan changesets > $ hg debugobsolete `getid original_c` `getid babar` > 1 new phase-divergent changesets > - $ hg log --config ui.logtemplate= -r 'phasedivergent() and orphan()' > + 2 new content-divergent changesets > + $ hg log --config ui.logtemplate= -r 'phasedivergent() and orphan() and > contentdivergent()' > changeset: 7:50c51b361e60 > user: test > date: Thu Jan 01 00:00:00 1970 +0000 > - instability: orphan, phase-divergent > + instability: orphan, phase-divergent, content-divergent > summary: add babar > > - > test the "obsolete" templatekw > > $ hg log -r 'obsolete()' > 6:3de5eca88c00 (draft *obsolete*) [ ] add obsolete_e [pruned] > > test the "troubles" templatekw > > $ hg log -r 'phasedivergent() and orphan()' > - 7:50c51b361e60 (draft orphan phase-divergent) [ ] add babar > + 7:50c51b361e60 (draft orphan phase-divergent content-divergent) [ ] add > babar > > test the default cmdline template > > $ hg log -T default -r 'phasedivergent()' > changeset: 7:50c51b361e60 > user: test > date: Thu Jan 01 00:00:00 1970 +0000 > - instability: orphan, phase-divergent > + instability: orphan, phase-divergent, content-divergent > summary: add babar > > $ hg log -T default -r 'obsolete()' > @@ -981,18 +981,18 @@ > test the obsolete labels > > $ hg log --config ui.logtemplate= --color=debug -r 'phasedivergent()' > - [log.changeset changeset.draft changeset.unstable instability.orphan > instability.phase-divergent|changeset: 7:50c51b361e60] > + [log.changeset changeset.draft changeset.unstable instability.orphan > instability.phase-divergent instability.content-divergent|changeset: > 7:50c51b361e60] > [log.user|user: test] > [log.date|date: Thu Jan 01 00:00:00 1970 +0000] > - [log.instability|instability: orphan, phase-divergent] > + [log.instability|instability: orphan, phase-divergent, > content-divergent] > [log.summary|summary: add babar] > > > $ hg log -T default -r 'phasedivergent()' --color=debug > - [log.changeset changeset.draft changeset.unstable instability.orphan > instability.phase-divergent|changeset: 7:50c51b361e60] > + [log.changeset changeset.draft changeset.unstable instability.orphan > instability.phase-divergent instability.content-divergent|changeset: > 7:50c51b361e60] > [log.user|user: test] > [log.date|date: Thu Jan 01 00:00:00 1970 +0000] > - [log.instability|instability: orphan, phase-divergent] > + [log.instability|instability: orphan, phase-divergent, > content-divergent] > [log.summary|summary: add babar] > > > @@ -1019,13 +1019,14 @@ > $ hg up -r 'phasedivergent() and orphan()' > 1 files updated, 0 files merged, 1 files removed, 0 files unresolved > $ hg summary > - parent: 7:50c51b361e60 (orphan, phase-divergent) > + parent: 7:50c51b361e60 (orphan, phase-divergent, content-divergent) > add babar > branch: default > commit: (clean) > update: 2 new changesets (update) > phases: 4 draft > orphan: 2 changesets > + content-divergent: 2 changesets > phase-divergent: 1 changesets > $ hg up -r 'obsolete()' > 0 files updated, 0 files merged, 1 files removed, 0 files unresolved > @@ -1037,22 +1038,26 @@ > update: 3 new changesets (update) > phases: 4 draft > orphan: 2 changesets > + content-divergent: 2 changesets > phase-divergent: 1 changesets > > test debugwhyunstable output > > $ hg debugwhyunstable 50c51b361e60 > orphan: obsolete parent 3de5eca88c00aa039da7399a220f4a5221faa585 > phase-divergent: immutable predecessor > 245bde4270cd1072a27757984f9cda8ba26f08ca > + content-divergent: 6f96419950729f3671185b847352890f074f7557 (draft) > predecessor 245bde4270cd1072a27757984f9cda8ba26f08ca > > test whyunstable template keyword > > $ hg log -r 50c51b361e60 -T '{whyunstable}\n' > orphan: obsolete parent 3de5eca88c00 > phase-divergent: immutable predecessor 245bde4270cd > + content-divergent: 3:6f9641995072 (draft) predecessor 245bde4270cd > $ hg log -r 50c51b361e60 -T '{whyunstable % "{instability}: {reason} > {node|shortest}\n"}' > orphan: obsolete parent 3de5 > phase-divergent: immutable predecessor 245b > + content-divergent: predecessor 245b > > #if serve > > @@ -1076,36 +1081,43 @@ > check changeset with instabilities > > $ get-with-headers.py localhost:$HGPORT > 'log?rev=first(phasedivergent())&style=paper' | grep '<span > class="instability">' > - <span class="phase">draft</span> <span > class="instability">orphan</span> <span > class="instability">phase-divergent</span> > + <span class="phase">draft</span> <span > class="instability">orphan</span> <span > class="instability">phase-divergent</span> <span > class="instability">content-divergent</span> > $ get-with-headers.py localhost:$HGPORT > 'log?rev=first(phasedivergent())&style=coal' | grep '<span > class="instability">' > - <span class="phase">draft</span> <span > class="instability">orphan</span> <span > class="instability">phase-divergent</span> > + <span class="phase">draft</span> <span > class="instability">orphan</span> <span > class="instability">phase-divergent</span> <span > class="instability">content-divergent</span> > $ get-with-headers.py localhost:$HGPORT > 'log?rev=first(phasedivergent())&style=gitweb' | grep '<span > class="logtags">' > - <span class="logtags"><span class="phasetag" > title="draft">draft</span> <span class="instabilitytag" > title="orphan">orphan</span> <span class="instabilitytag" > title="phase-divergent">phase-divergent</span> </span> > + <span class="logtags"><span class="phasetag" > title="draft">draft</span> <span class="instabilitytag" > title="orphan">orphan</span> <span class="instabilitytag" > title="phase-divergent">phase-divergent</span> <span class="instabilitytag" > title="content-divergent">content-divergent</span> </span> > $ get-with-headers.py localhost:$HGPORT > 'log?rev=first(phasedivergent())&style=monoblue' | grep '<span > class="logtags">' > - <span class="logtags"><span class="phasetag" > title="draft">draft</span> <span class="instabilitytag" > title="orphan">orphan</span> <span class="instabilitytag" > title="phase-divergent">phase-divergent</span> </span> > + <span class="logtags"><span class="phasetag" > title="draft">draft</span> <span class="instabilitytag" > title="orphan">orphan</span> <span class="instabilitytag" > title="phase-divergent">phase-divergent</span> <span class="instabilitytag" > title="content-divergent">content-divergent</span> </span> > $ get-with-headers.py localhost:$HGPORT > 'log?rev=first(phasedivergent())&style=spartan' | grep 'class="unstable"' > <th class="unstable">unstable:</th> > <td class="unstable">orphan: obsolete parent <a > href="/rev/3de5eca88c00?style=spartan">3de5eca88c00</a></td> > <th class="unstable">unstable:</th> > <td class="unstable">phase-divergent: immutable predecessor <a > href="/rev/245bde4270cd?style=spartan">245bde4270cd</a></td> > + <th class="unstable">unstable:</th> > + <td class="unstable">content-divergent: <a > href="/rev/6f9641995072?style=spartan">6f9641995072</a> (draft) predecessor > <a href="/rev/245bde4270cd?style=spartan">245bde4270cd</a></td> > > -check explanation for an orphan and phase-divergent changeset > +check explanation for an orphan, phase-divergent and content-divergent > changeset > > - $ get-with-headers.py localhost:$HGPORT 'rev/50c51b361e60?style=paper' > | egrep '(orphan|phase-divergent):' > + $ get-with-headers.py localhost:$HGPORT 'rev/50c51b361e60?style=paper' > | egrep '(orphan|phase-divergent|content-divergent):' > <td>orphan: obsolete parent <a > href="/rev/3de5eca88c00?style=paper">3de5eca88c00</a><br> > - phase-divergent: immutable predecessor <a > href="/rev/245bde4270cd?style=paper">245bde4270cd</a></td> > - $ get-with-headers.py localhost:$HGPORT 'rev/50c51b361e60?style=coal' | > egrep '(orphan|phase-divergent):' > + phase-divergent: immutable predecessor <a > href="/rev/245bde4270cd?style=paper">245bde4270cd</a><br> > + content-divergent: <a > href="/rev/6f9641995072?style=paper">6f9641995072</a> (draft) predecessor > <a href="/rev/245bde4270cd?style=paper">245bde4270cd</a></td> > + $ get-with-headers.py localhost:$HGPORT 'rev/50c51b361e60?style=coal' | > egrep '(orphan|phase-divergent|content-divergent):' > <td>orphan: obsolete parent <a > href="/rev/3de5eca88c00?style=coal">3de5eca88c00</a><br> > - phase-divergent: immutable predecessor <a > href="/rev/245bde4270cd?style=coal">245bde4270cd</a></td> > - $ get-with-headers.py localhost:$HGPORT 'rev/50c51b361e60?style=gitweb' > | egrep '(orphan|phase-divergent):' > + phase-divergent: immutable predecessor <a > href="/rev/245bde4270cd?style=coal">245bde4270cd</a><br> > + content-divergent: <a > href="/rev/6f9641995072?style=coal">6f9641995072</a> (draft) predecessor <a > href="/rev/245bde4270cd?style=coal">245bde4270cd</a></td> > + $ get-with-headers.py localhost:$HGPORT 'rev/50c51b361e60?style=gitweb' > | egrep '(orphan|phase-divergent|content-divergent):' > <td>orphan: obsolete parent <a class="list" > href="/rev/3de5eca88c00?style=gitweb">3de5eca88c00</a></td> > <td>phase-divergent: immutable predecessor <a class="list" > href="/rev/245bde4270cd?style=gitweb">245bde4270cd</a></td> > - $ get-with-headers.py localhost:$HGPORT > 'rev/50c51b361e60?style=monoblue' | egrep '(orphan|phase-divergent):' > + <td>content-divergent: <a class="list" > href="/rev/6f9641995072?style=gitweb">6f9641995072</a> (draft) predecessor > <a class="list" href="/rev/245bde4270cd?style=gitweb">245bde4270cd</a></td> > + $ get-with-headers.py localhost:$HGPORT > 'rev/50c51b361e60?style=monoblue' | egrep > '(orphan|phase-divergent|content-divergent):' > <dd>orphan: obsolete parent <a > href="/rev/3de5eca88c00?style=monoblue">3de5eca88c00</a></dd> > <dd>phase-divergent: immutable predecessor <a > href="/rev/245bde4270cd?style=monoblue">245bde4270cd</a></dd> > - $ get-with-headers.py localhost:$HGPORT > 'rev/50c51b361e60?style=spartan' | egrep '(orphan|phase-divergent):' > + <dd>content-divergent: <a > href="/rev/6f9641995072?style=monoblue">6f9641995072</a> (draft) > predecessor <a href="/rev/245bde4270cd?style=monoblue">245bde4270cd</a></dd> > + $ get-with-headers.py localhost:$HGPORT > 'rev/50c51b361e60?style=spartan' | egrep > '(orphan|phase-divergent|content-divergent):' > <td class="unstable">orphan: obsolete parent <a > href="/rev/3de5eca88c00?style=spartan">3de5eca88c00</a></td> > <td class="unstable">phase-divergent: immutable predecessor <a > href="/rev/245bde4270cd?style=spartan">245bde4270cd</a></td> > + <td class="unstable">content-divergent: <a > href="/rev/6f9641995072?style=spartan">6f9641995072</a> (draft) predecessor > <a href="/rev/245bde4270cd?style=spartan">245bde4270cd</a></td> > > $ killdaemons.py > > diff --git a/tests/test-obsmarker-template.t > b/tests/test-obsmarker-template.t > --- a/tests/test-obsmarker-template.t > +++ b/tests/test-obsmarker-template.t > @@ -2501,14 +2501,14 @@ > $ hg up 'desc("A0")' --hidden > 0 files updated, 0 files merged, 0 files removed, 0 files unresolved > updated to hidden changeset 471597cad322 > - (hidden revision '471597cad322' is pruned) > + (hidden revision '471597cad322' was rewritten as: 617adc3a144c) > > # todo: the obsfate output is not ideal > $ hg fatelog > o 617adc3a144c > | > | @ 471597cad322 > - |/ Obsfate: pruned; > + |/ Obsfate: rewritten as 2:617adc3a144c by test (at 1970-01-01 > 00:00 +0000); > o ea207398892e > > $ hg up -r 'desc("A2")' --hidden > diff --git a/mercurial/obsutil.py b/mercurial/obsutil.py > --- a/mercurial/obsutil.py > +++ b/mercurial/obsutil.py > @@ -711,7 +711,8 @@ > if part not in newss: > newss.append(part) > productresult.append(newss) > - markss = productresult > + if productresult: > + markss = productresult > succssets.extend(markss) > # remove duplicated and subset > seen = [] > > > > To: khanchi97, #hg-reviewers > Cc: av6, mercurial-devel > _______________________________________________ > Mercurial-devel mailing list > Mercurial-devel@mercurial-scm.org > https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel >
Patch
diff --git a/tests/test-obsolete.t b/tests/test-obsolete.t --- a/tests/test-obsolete.t +++ b/tests/test-obsolete.t @@ -935,38 +935,38 @@ $ rm access.log errors.log #endif -Several troubles on the same changeset (create an unstable and bumped changeset) +Several troubles on the same changeset (create an unstable and bumped and content-divergent changeset) $ hg debugobsolete `getid obsolete_e` obsoleted 1 changesets 2 new orphan changesets $ hg debugobsolete `getid original_c` `getid babar` 1 new phase-divergent changesets - $ hg log --config ui.logtemplate= -r 'phasedivergent() and orphan()' + 2 new content-divergent changesets + $ hg log --config ui.logtemplate= -r 'phasedivergent() and orphan() and contentdivergent()' changeset: 7:50c51b361e60 user: test date: Thu Jan 01 00:00:00 1970 +0000 - instability: orphan, phase-divergent + instability: orphan, phase-divergent, content-divergent summary: add babar - test the "obsolete" templatekw $ hg log -r 'obsolete()' 6:3de5eca88c00 (draft *obsolete*) [ ] add obsolete_e [pruned] test the "troubles" templatekw $ hg log -r 'phasedivergent() and orphan()' - 7:50c51b361e60 (draft orphan phase-divergent) [ ] add babar + 7:50c51b361e60 (draft orphan phase-divergent content-divergent) [ ] add babar test the default cmdline template $ hg log -T default -r 'phasedivergent()' changeset: 7:50c51b361e60 user: test date: Thu Jan 01 00:00:00 1970 +0000 - instability: orphan, phase-divergent + instability: orphan, phase-divergent, content-divergent summary: add babar $ hg log -T default -r 'obsolete()' @@ -981,18 +981,18 @@ test the obsolete labels $ hg log --config ui.logtemplate= --color=debug -r 'phasedivergent()' - [log.changeset changeset.draft changeset.unstable instability.orphan instability.phase-divergent|changeset: 7:50c51b361e60] + [log.changeset changeset.draft changeset.unstable instability.orphan instability.phase-divergent instability.content-divergent|changeset: 7:50c51b361e60] [log.user|user: test] [log.date|date: Thu Jan 01 00:00:00 1970 +0000] - [log.instability|instability: orphan, phase-divergent] + [log.instability|instability: orphan, phase-divergent, content-divergent] [log.summary|summary: add babar] $ hg log -T default -r 'phasedivergent()' --color=debug - [log.changeset changeset.draft changeset.unstable instability.orphan instability.phase-divergent|changeset: 7:50c51b361e60] + [log.changeset changeset.draft changeset.unstable instability.orphan instability.phase-divergent instability.content-divergent|changeset: 7:50c51b361e60] [log.user|user: test] [log.date|date: Thu Jan 01 00:00:00 1970 +0000] - [log.instability|instability: orphan, phase-divergent] + [log.instability|instability: orphan, phase-divergent, content-divergent] [log.summary|summary: add babar] @@ -1019,13 +1019,14 @@ $ hg up -r 'phasedivergent() and orphan()' 1 files updated, 0 files merged, 1 files removed, 0 files unresolved $ hg summary - parent: 7:50c51b361e60 (orphan, phase-divergent) + parent: 7:50c51b361e60 (orphan, phase-divergent, content-divergent) add babar branch: default commit: (clean) update: 2 new changesets (update) phases: 4 draft orphan: 2 changesets + content-divergent: 2 changesets phase-divergent: 1 changesets $ hg up -r 'obsolete()' 0 files updated, 0 files merged, 1 files removed, 0 files unresolved @@ -1037,22 +1038,26 @@ update: 3 new changesets (update) phases: 4 draft orphan: 2 changesets + content-divergent: 2 changesets phase-divergent: 1 changesets test debugwhyunstable output $ hg debugwhyunstable 50c51b361e60 orphan: obsolete parent 3de5eca88c00aa039da7399a220f4a5221faa585 phase-divergent: immutable predecessor 245bde4270cd1072a27757984f9cda8ba26f08ca + content-divergent: 6f96419950729f3671185b847352890f074f7557 (draft) predecessor 245bde4270cd1072a27757984f9cda8ba26f08ca test whyunstable template keyword $ hg log -r 50c51b361e60 -T '{whyunstable}\n' orphan: obsolete parent 3de5eca88c00 phase-divergent: immutable predecessor 245bde4270cd + content-divergent: 3:6f9641995072 (draft) predecessor 245bde4270cd $ hg log -r 50c51b361e60 -T '{whyunstable % "{instability}: {reason} {node|shortest}\n"}' orphan: obsolete parent 3de5 phase-divergent: immutable predecessor 245b + content-divergent: predecessor 245b #if serve @@ -1076,36 +1081,43 @@ check changeset with instabilities $ get-with-headers.py localhost:$HGPORT 'log?rev=first(phasedivergent())&style=paper' | grep '<span class="instability">' - <span class="phase">draft</span> <span class="instability">orphan</span> <span class="instability">phase-divergent</span> + <span class="phase">draft</span> <span class="instability">orphan</span> <span class="instability">phase-divergent</span> <span class="instability">content-divergent</span> $ get-with-headers.py localhost:$HGPORT 'log?rev=first(phasedivergent())&style=coal' | grep '<span class="instability">' - <span class="phase">draft</span> <span class="instability">orphan</span> <span class="instability">phase-divergent</span> + <span class="phase">draft</span> <span class="instability">orphan</span> <span class="instability">phase-divergent</span> <span class="instability">content-divergent</span> $ get-with-headers.py localhost:$HGPORT 'log?rev=first(phasedivergent())&style=gitweb' | grep '<span class="logtags">' - <span class="logtags"><span class="phasetag" title="draft">draft</span> <span class="instabilitytag" title="orphan">orphan</span> <span class="instabilitytag" title="phase-divergent">phase-divergent</span> </span> + <span class="logtags"><span class="phasetag" title="draft">draft</span> <span class="instabilitytag" title="orphan">orphan</span> <span class="instabilitytag" title="phase-divergent">phase-divergent</span> <span class="instabilitytag" title="content-divergent">content-divergent</span> </span> $ get-with-headers.py localhost:$HGPORT 'log?rev=first(phasedivergent())&style=monoblue' | grep '<span class="logtags">' - <span class="logtags"><span class="phasetag" title="draft">draft</span> <span class="instabilitytag" title="orphan">orphan</span> <span class="instabilitytag" title="phase-divergent">phase-divergent</span> </span> + <span class="logtags"><span class="phasetag" title="draft">draft</span> <span class="instabilitytag" title="orphan">orphan</span> <span class="instabilitytag" title="phase-divergent">phase-divergent</span> <span class="instabilitytag" title="content-divergent">content-divergent</span> </span> $ get-with-headers.py localhost:$HGPORT 'log?rev=first(phasedivergent())&style=spartan' | grep 'class="unstable"' <th class="unstable">unstable:</th> <td class="unstable">orphan: obsolete parent <a href="/rev/3de5eca88c00?style=spartan">3de5eca88c00</a></td> <th class="unstable">unstable:</th> <td class="unstable">phase-divergent: immutable predecessor <a href="/rev/245bde4270cd?style=spartan">245bde4270cd</a></td> + <th class="unstable">unstable:</th> + <td class="unstable">content-divergent: <a href="/rev/6f9641995072?style=spartan">6f9641995072</a> (draft) predecessor <a href="/rev/245bde4270cd?style=spartan">245bde4270cd</a></td> -check explanation for an orphan and phase-divergent changeset +check explanation for an orphan, phase-divergent and content-divergent changeset - $ get-with-headers.py localhost:$HGPORT 'rev/50c51b361e60?style=paper' | egrep '(orphan|phase-divergent):' + $ get-with-headers.py localhost:$HGPORT 'rev/50c51b361e60?style=paper' | egrep '(orphan|phase-divergent|content-divergent):' <td>orphan: obsolete parent <a href="/rev/3de5eca88c00?style=paper">3de5eca88c00</a><br> - phase-divergent: immutable predecessor <a href="/rev/245bde4270cd?style=paper">245bde4270cd</a></td> - $ get-with-headers.py localhost:$HGPORT 'rev/50c51b361e60?style=coal' | egrep '(orphan|phase-divergent):' + phase-divergent: immutable predecessor <a href="/rev/245bde4270cd?style=paper">245bde4270cd</a><br> + content-divergent: <a href="/rev/6f9641995072?style=paper">6f9641995072</a> (draft) predecessor <a href="/rev/245bde4270cd?style=paper">245bde4270cd</a></td> + $ get-with-headers.py localhost:$HGPORT 'rev/50c51b361e60?style=coal' | egrep '(orphan|phase-divergent|content-divergent):' <td>orphan: obsolete parent <a href="/rev/3de5eca88c00?style=coal">3de5eca88c00</a><br> - phase-divergent: immutable predecessor <a href="/rev/245bde4270cd?style=coal">245bde4270cd</a></td> - $ get-with-headers.py localhost:$HGPORT 'rev/50c51b361e60?style=gitweb' | egrep '(orphan|phase-divergent):' + phase-divergent: immutable predecessor <a href="/rev/245bde4270cd?style=coal">245bde4270cd</a><br> + content-divergent: <a href="/rev/6f9641995072?style=coal">6f9641995072</a> (draft) predecessor <a href="/rev/245bde4270cd?style=coal">245bde4270cd</a></td> + $ get-with-headers.py localhost:$HGPORT 'rev/50c51b361e60?style=gitweb' | egrep '(orphan|phase-divergent|content-divergent):' <td>orphan: obsolete parent <a class="list" href="/rev/3de5eca88c00?style=gitweb">3de5eca88c00</a></td> <td>phase-divergent: immutable predecessor <a class="list" href="/rev/245bde4270cd?style=gitweb">245bde4270cd</a></td> - $ get-with-headers.py localhost:$HGPORT 'rev/50c51b361e60?style=monoblue' | egrep '(orphan|phase-divergent):' + <td>content-divergent: <a class="list" href="/rev/6f9641995072?style=gitweb">6f9641995072</a> (draft) predecessor <a class="list" href="/rev/245bde4270cd?style=gitweb">245bde4270cd</a></td> + $ get-with-headers.py localhost:$HGPORT 'rev/50c51b361e60?style=monoblue' | egrep '(orphan|phase-divergent|content-divergent):' <dd>orphan: obsolete parent <a href="/rev/3de5eca88c00?style=monoblue">3de5eca88c00</a></dd> <dd>phase-divergent: immutable predecessor <a href="/rev/245bde4270cd?style=monoblue">245bde4270cd</a></dd> - $ get-with-headers.py localhost:$HGPORT 'rev/50c51b361e60?style=spartan' | egrep '(orphan|phase-divergent):' + <dd>content-divergent: <a href="/rev/6f9641995072?style=monoblue">6f9641995072</a> (draft) predecessor <a href="/rev/245bde4270cd?style=monoblue">245bde4270cd</a></dd> + $ get-with-headers.py localhost:$HGPORT 'rev/50c51b361e60?style=spartan' | egrep '(orphan|phase-divergent|content-divergent):' <td class="unstable">orphan: obsolete parent <a href="/rev/3de5eca88c00?style=spartan">3de5eca88c00</a></td> <td class="unstable">phase-divergent: immutable predecessor <a href="/rev/245bde4270cd?style=spartan">245bde4270cd</a></td> + <td class="unstable">content-divergent: <a href="/rev/6f9641995072?style=spartan">6f9641995072</a> (draft) predecessor <a href="/rev/245bde4270cd?style=spartan">245bde4270cd</a></td> $ killdaemons.py diff --git a/tests/test-obsmarker-template.t b/tests/test-obsmarker-template.t --- a/tests/test-obsmarker-template.t +++ b/tests/test-obsmarker-template.t @@ -2501,14 +2501,14 @@ $ hg up 'desc("A0")' --hidden 0 files updated, 0 files merged, 0 files removed, 0 files unresolved updated to hidden changeset 471597cad322 - (hidden revision '471597cad322' is pruned) + (hidden revision '471597cad322' was rewritten as: 617adc3a144c) # todo: the obsfate output is not ideal $ hg fatelog o 617adc3a144c | | @ 471597cad322 - |/ Obsfate: pruned; + |/ Obsfate: rewritten as 2:617adc3a144c by test (at 1970-01-01 00:00 +0000); o ea207398892e $ hg up -r 'desc("A2")' --hidden diff --git a/mercurial/obsutil.py b/mercurial/obsutil.py --- a/mercurial/obsutil.py +++ b/mercurial/obsutil.py @@ -711,7 +711,8 @@ if part not in newss: newss.append(part) productresult.append(newss) - markss = productresult + if productresult: + markss = productresult succssets.extend(markss) # remove duplicated and subset seen = []