_updatebranchcache: prevent deleting dict key during iteration
We use dict.keys() to fetch all keys before starting to delete some. Otherwise
python complains that the dictionnary is altered during iteration.
--- a/mercurial/localrepo.py Tue Jul 17 18:21:49 2012 +0200
+++ b/mercurial/localrepo.py Tue Jul 17 16:16:17 2012 +0200
@@ -745,7 +745,7 @@
# branch that ceased to exist may not be in newbranches because
# newbranches is the set of candidate heads, which when you strip the
# last commit in a branch will be the parent branch.
- for branch in partial:
+ for branch in partial.keys():
nodes = [head for head in partial[branch]
if self.changelog.hasnode(head)]
if not nodes: