changeset 39905:a89dd6d01df0

pullreport: rev duplicated and extinct into account If we already have some obsolete and hidden nodes locally and the server send them again to you, it seems useful to point it out instead of being silent about it.
author Boris Feld <boris.feld@octobus.net>
date Thu, 27 Sep 2018 16:55:06 +0200
parents f9232b0310ef
children 8a42aa04ef36
files mercurial/scmutil.py tests/test-obsolete.t
diffstat 2 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/scmutil.py	Thu Sep 27 16:52:25 2018 +0200
+++ b/mercurial/scmutil.py	Thu Sep 27 16:55:06 2018 +0200
@@ -1652,7 +1652,9 @@
                 repo.ui.status(msg)
 
             # search new changesets directly pulled as obsolete
-            obsadded = unfi.revs('%d: and obsolete()', origrepolen)
+            duplicates = tr.changes.get('revduplicates', ())
+            obsadded = unfi.revs('(%d: + %ld) and obsolete()',
+                                 origrepolen, duplicates)
             cl = repo.changelog
             extinctadded = [r for r in obsadded if r not in cl]
             if extinctadded:
--- a/tests/test-obsolete.t	Thu Sep 27 16:52:25 2018 +0200
+++ b/tests/test-obsolete.t	Thu Sep 27 16:55:06 2018 +0200
@@ -806,6 +806,7 @@
   adding file changes
   added 62 changesets with 63 changes to 9 files (+60 heads)
   new changesets 50c51b361e60:c15e9edfca13 (62 drafts)
+  (2 other changesets obsolete on arrival)
   (run 'hg heads .' to see heads, 'hg merge' to merge)
   $ for node in `hg log -r 'desc(babar_)' --template '{node}\n'`;
   > do