clfilter: fix `nodemap` usage in `getbundle`
With the current implementation, `changelog.nodemap` is not filtered. So some
filtered changeset in common are not filtered by `n in nodemap`. This leads to
crash lower in the stack when the bundle generation try to access those node on
a filtered changelog.
--- a/mercurial/localrepo.py Mon Dec 17 17:00:24 2012 +0100
+++ b/mercurial/localrepo.py Mon Dec 10 18:12:41 2012 +0100
@@ -2107,8 +2107,8 @@
"""
cl = self.changelog
if common:
- nm = cl.nodemap
- common = [n for n in common if n in nm]
+ hasnode = cl.hasnode
+ common = [n for n in common if hasnode(n)]
else:
common = [nullid]
if not heads: