# HG changeset patch
# User Kostia Balytskyi <[email protected]>
# Date 1485451944 28800
# Thu Jan 26 09:32:24 2017 -0800
# Node ID 904e442f868455ba9cb66347733804ff3a6d98e0
# Parent 090d16362edd806ec4843c1f0b49d331bec6e524
lazyremotenamedict: make iteritems able to not check whether nodes exist
Similar to `keys()` method, we don't always want to resolve every node
in the changelog, sometimes all we're interested in is the node hash.
diff --git a/remotenames.py b/remotenames.py
--- a/remotenames.py
+++ b/remotenames.py
@@ -367,6 +367,19 @@ class lazyremotenamedict(UserDict.DictMi
return self.cache.keys()
return self.potentialentries.keys()
+ """Iterate over (name, node) tuples
+
+ `resolvekeys` has the same meaning as in `keys()` method"""
+ if not self.loaded:
+ self._load()
+ if resolvekeys is None:
+ resolvekeys = self._repo.ui.configbool("remotenames",
+ "resolvekeys", True)
+ for k, vtup in self.potentialentries.iteritems():
+ if resolvekeys:
+ self._fetchandcache(k)
+ yield (k, [bin(vtup[0])])
+
class remotenames(dict):
"""This class encapsulates all the remotenames state. It also contains
methods to access that state in convenient ways. Remotenames are lazy
_______________________________________________
Mercurial-devel mailing list
[email protected]
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel