# HG changeset patch # User Pierre-Yves David # Date 1342534577 -7200 # Node ID ec80ae982689194745795e466970cd52c1470409 # Parent 5cd3e526ac37c0259cf5bf94b81402cdc2c6e792 _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. diff -r 5cd3e526ac37 -r ec80ae982689 mercurial/localrepo.py --- 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: