diff --git a/mercurial/scmutil.py b/mercurial/scmutil.py --- a/mercurial/scmutil.py +++ b/mercurial/scmutil.py @@ -1651,6 +1651,17 @@ def registersummarycallback(repo, otr, t raise error.ProgrammingError(errormsg) repo.ui.status(msg) + # search new changesets directly pulled as obsolete + obsadded = unfi.revs('%d: and obsolete()', origrepolen) + cl = repo.changelog + extinctadded = [r for r in obsadded if r not in cl] + if extinctadded: + # They are not just obsolete, but obsolete and invisible + # we call them "extinct" internally but the terms have not been + # exposed to users. + msg = '(%d other changesets obsolete on arrival)\n' + repo.ui.status(msg % len(extinctadded)) + @reportsummary def reportphasechanges(repo, tr): """Report statistics of phase changes for changesets pre-existing diff --git a/tests/test-obsolete-bundle-strip.t b/tests/test-obsolete-bundle-strip.t --- a/tests/test-obsolete-bundle-strip.t +++ b/tests/test-obsolete-bundle-strip.t @@ -170,6 +170,7 @@ Actual testing # unbundling: adding manifests # unbundling: adding file changes # unbundling: added 1 changesets with 1 changes to 1 files (+1 heads) + # unbundling: (1 other changesets obsolete on arrival) # unbundling: (run 'hg heads' to see heads) $ testrevs 'desc("C-A1")' @@ -248,6 +249,7 @@ Actual testing # unbundling: added 2 changesets with 2 changes to 2 files (+1 heads) # unbundling: 3 new obsolescence markers # unbundling: new changesets cf2c22470d67 (1 drafts) + # unbundling: (1 other changesets obsolete on arrival) # unbundling: (run 'hg heads' to see heads) chain with prune children @@ -339,6 +341,7 @@ problematic) # unbundling: adding file changes # unbundling: added 1 changesets with 1 changes to 1 files # unbundling: 1 new obsolescence markers + # unbundling: (1 other changesets obsolete on arrival) # unbundling: (run 'hg update' to get a working copy) $ testrevs 'desc("C-A1")' @@ -437,6 +440,7 @@ bundling multiple revisions # unbundling: added 3 changesets with 3 changes to 3 files (+1 heads) # unbundling: 3 new obsolescence markers # unbundling: new changesets cf2c22470d67 (1 drafts) + # unbundling: (2 other changesets obsolete on arrival) # unbundling: (run 'hg heads' to see heads) chain with precursors also pruned @@ -503,6 +507,7 @@ Actual testing # unbundling: adding manifests # unbundling: adding file changes # unbundling: added 1 changesets with 1 changes to 1 files (+1 heads) + # unbundling: (1 other changesets obsolete on arrival) # unbundling: (run 'hg heads' to see heads) $ testrevs 'desc("C-A1")' @@ -578,6 +583,7 @@ Actual testing # unbundling: added 2 changesets with 2 changes to 2 files (+1 heads) # unbundling: 3 new obsolescence markers # unbundling: new changesets cf2c22470d67 (1 drafts) + # unbundling: (1 other changesets obsolete on arrival) # unbundling: (run 'hg heads' to see heads) chain with missing prune @@ -836,6 +842,7 @@ Actual testing # unbundling: adding manifests # unbundling: adding file changes # unbundling: added 1 changesets with 1 changes to 1 files (+1 heads) + # unbundling: (1 other changesets obsolete on arrival) # unbundling: (run 'hg heads' to see heads) $ testrevs 'desc("C-B")' @@ -864,6 +871,7 @@ Actual testing # unbundling: adding manifests # unbundling: adding file changes # unbundling: added 1 changesets with 1 changes to 1 files (+1 heads) + # unbundling: (1 other changesets obsolete on arrival) # unbundling: (run 'hg heads' to see heads) $ testrevs 'desc("C-C")' @@ -892,6 +900,7 @@ Actual testing # unbundling: adding manifests # unbundling: adding file changes # unbundling: added 1 changesets with 1 changes to 1 files (+1 heads) + # unbundling: (1 other changesets obsolete on arrival) # unbundling: (run 'hg heads' to see heads) $ testrevs 'desc("C-D")' @@ -920,6 +929,7 @@ Actual testing # unbundling: adding manifests # unbundling: adding file changes # unbundling: added 1 changesets with 1 changes to 1 files (+1 heads) + # unbundling: (1 other changesets obsolete on arrival) # unbundling: (run 'hg heads' to see heads) $ testrevs 'desc("C-E")' @@ -1018,6 +1028,7 @@ Bundle multiple revisions # unbundling: adding manifests # unbundling: adding file changes # unbundling: added 2 changesets with 2 changes to 2 files (+2 heads) + # unbundling: (2 other changesets obsolete on arrival) # unbundling: (run 'hg heads' to see heads) * top one and other divergent @@ -1087,6 +1098,7 @@ Bundle multiple revisions # unbundling: 7 new obsolescence markers # unbundling: obsoleted 2 changesets # unbundling: new changesets 2f20ff6509f0 (1 drafts) + # unbundling: (1 other changesets obsolete on arrival) # unbundling: (run 'hg heads' to see heads) * top one and initial precursors @@ -1155,6 +1167,7 @@ Bundle multiple revisions # unbundling: 6 new obsolescence markers # unbundling: obsoleted 3 changesets # unbundling: new changesets 2f20ff6509f0 (1 drafts) + # unbundling: (1 other changesets obsolete on arrival) # unbundling: (run 'hg heads' to see heads) * top one and one of the split @@ -1224,6 +1237,7 @@ Bundle multiple revisions # unbundling: 7 new obsolescence markers # unbundling: obsoleted 2 changesets # unbundling: new changesets 2f20ff6509f0 (1 drafts) + # unbundling: (1 other changesets obsolete on arrival) # unbundling: (run 'hg heads' to see heads) * all @@ -1299,6 +1313,7 @@ Bundle multiple revisions # unbundling: added 5 changesets with 5 changes to 5 files (+4 heads) # unbundling: 9 new obsolescence markers # unbundling: new changesets 2f20ff6509f0 (1 drafts) + # unbundling: (4 other changesets obsolete on arrival) # unbundling: (run 'hg heads' to see heads) changeset pruned on its own @@ -1372,6 +1387,7 @@ Actual testing # unbundling: adding file changes # unbundling: added 1 changesets with 1 changes to 1 files # unbundling: 1 new obsolescence markers + # unbundling: (1 other changesets obsolete on arrival) # unbundling: (run 'hg update' to get a working copy) $ testrevs 'desc("C-")' ### Matched revisions### @@ -1401,4 +1417,5 @@ Actual testing # unbundling: added 2 changesets with 2 changes to 2 files # unbundling: 1 new obsolescence markers # unbundling: new changesets 9ac430e15fca (1 drafts) + # unbundling: (1 other changesets obsolete on arrival) # unbundling: (run 'hg update' to get a working copy) diff --git a/tests/test-obsolete-changeset-exchange.t b/tests/test-obsolete-changeset-exchange.t --- a/tests/test-obsolete-changeset-exchange.t +++ b/tests/test-obsolete-changeset-exchange.t @@ -85,6 +85,7 @@ check that bundle is not affected adding manifests adding file changes added 1 changesets with 0 changes to 1 files (+1 heads) + (1 other changesets obsolete on arrival) (run 'hg heads' to see heads) check-that bundle can contain markers: diff --git a/tests/test-obsolete-checkheads.t b/tests/test-obsolete-checkheads.t --- a/tests/test-obsolete-checkheads.t +++ b/tests/test-obsolete-checkheads.t @@ -277,6 +277,7 @@ Pulling the missing data makes it work adding manifests adding file changes added 1 changesets with 1 changes to 1 files (+1 heads) + (1 other changesets obsolete on arrival) (run 'hg heads' to see heads) $ hg push pushing to $TESTTMP/remote diff --git a/tests/test-obsolete-distributed.t b/tests/test-obsolete-distributed.t --- a/tests/test-obsolete-distributed.t +++ b/tests/test-obsolete-distributed.t @@ -411,6 +411,7 @@ successors do not exist in Bob repositor adding manifests adding file changes added 2 changesets with 0 changes to 2 files (+1 heads) + (2 other changesets obsolete on arrival) (run 'hg heads' to see heads) $ hg log -G o 4:77ae25d99ff0 c_B2 @@ -455,6 +456,7 @@ decision is made in that case, so receiv adding manifests adding file changes added 2 changesets with 0 changes to 2 files (+1 heads) + (2 other changesets obsolete on arrival) (run 'hg heads' to see heads) $ hg log -G o 4:77ae25d99ff0 c_B2 diff --git a/tests/test-obsolete.t b/tests/test-obsolete.t --- a/tests/test-obsolete.t +++ b/tests/test-obsolete.t @@ -1602,6 +1602,7 @@ Test adding changeset after obsmarkers a adding manifests adding file changes added 1 changesets with 1 changes to 1 files + (1 other changesets obsolete on arrival) (run 'hg update' to get a working copy) $ hg log -G @ 7:7ae79c5d60f0 (draft) [tip ] dd