diff -r 6d098adc5a46 -r cd403d6d96ef mercurial/bundlerepo.py --- a/mercurial/bundlerepo.py Tue Feb 05 11:31:43 2013 -0600 +++ b/mercurial/bundlerepo.py Wed Feb 06 07:55:29 2013 +0000 @@ -367,6 +367,11 @@ localrepo = bundlerepo = bundlerepository(ui, repo.root, fname) # this repo contains local and other now, so filter out local again common = repo.heads() + if localrepo: + # Part of common may be remotely filtered + # So use an unfiltered version + # The discovery process probably need cleanup to avoid that + localrepo = localrepo.unfiltered() csets = localrepo.changelog.findmissing(common, rheads)