D5474: obsutil: fix the issue5686
Sushil Khanchi
sushilkhanchi97 at gmail.com
Tue Dec 25 11:27:37 EST 2018
Ready for review.
On Sun 23 Dec, 2018, 6:19 PM khanchi97 (Sushil khanchi) <
phabricator at 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 at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.mercurial-scm.org/pipermail/mercurial-devel/attachments/20181225/b80637c0/attachment.html>
More information about the Mercurial-devel
mailing list