# HG changeset patch # User Pierre-Yves David # Date 1429627928 -7200 # Node ID 5ff8a5d85b2bb2fd6b931b1edf9b61c445ea599a # Parent 0ac2ad8e7235deff81028af3903ec028109a4005 getbundleobsmarker: prevent crash from filtered content (issue4616) The discovery may discover common markers on non-served nodes. This lead to crash when building the obsmarker part. diff -r 0ac2ad8e7235 -r 5ff8a5d85b2b README --- a/README Tue Apr 21 17:37:19 2015 +0200 +++ b/README Tue Apr 21 16:52:08 2015 +0200 @@ -54,6 +54,8 @@ 5.1.4 -- - significant documentation update +- fix issue4616: pulling with bundle2 would crash if common marker when + discovered on non-served changesets. 5.1.3 -- 2015-04-20 diff -r 0ac2ad8e7235 -r 5ff8a5d85b2b hgext/evolve.py --- a/hgext/evolve.py Tue Apr 21 17:37:19 2015 +0200 +++ b/hgext/evolve.py Tue Apr 21 16:52:08 2015 +0200 @@ -2657,7 +2657,7 @@ heads = repo.heads() obscommon = kwargs.get('evo_obscommon', ()) assert obscommon - obsset = repo.set('::%ln - ::%ln', heads, obscommon) + obsset = repo.unfiltered().set('::%ln - ::%ln', heads, obscommon) subset = [c.node() for c in obsset] markers = repo.obsstore.relevantmarkers(subset) exchange.buildobsmarkerspart(bundler, markers) diff -r 0ac2ad8e7235 -r 5ff8a5d85b2b tests/test-wireproto.t --- a/tests/test-wireproto.t Tue Apr 21 17:37:19 2015 +0200 +++ b/tests/test-wireproto.t Tue Apr 21 16:52:08 2015 +0200 @@ -126,5 +126,27 @@ 2 new obsolescence markers (run 'hg update' to get a working copy) +some common hidden + + $ hg touch . + $ hg push + pushing to ssh://user@dummy/server + searching for changes + remote: adding changesets + remote: adding manifests + remote: adding file changes + remote: added 1 changesets with 0 changes to 1 files (+1 heads) + remote: obsmarker-exchange: 208 bytes received + remote: 1 new obsolescence markers + $ hg -R ../other pull + pulling from ssh://user@dummy/server + searching for changes + adding changesets + adding manifests + adding file changes + added 1 changesets with 0 changes to 3 files (+1 heads) + obsmarker-exchange: 208 bytes received + 1 new obsolescence markers + (run 'hg heads' to see heads, 'hg merge' to merge) + $ cd .. -