--- a/mercurial/util.py Wed Oct 31 22:05:45 2018 +0900
+++ b/mercurial/util.py Wed Oct 31 22:29:05 2018 +0900
@@ -1337,6 +1337,20 @@
except KeyError:
return default
+ def peek(self, k, default=_notset):
+ """Get the specified item without moving it to the head
+
+ Unlike get(), this doesn't mutate the internal state. But be aware
+ that it doesn't mean peek() is thread safe.
+ """
+ try:
+ node = self._cache[k]
+ return node.value
+ except KeyError:
+ if default is _notset:
+ raise
+ return default
+
def clear(self):
n = self._head
while n.key is not _notset: