Mercurial > public > mercurial-scm > hg-stable
view mercurial/node.py @ 24030:828dc8db5515
revlog: add __contains__ for fast membership test
Because revlog implements __iter__, "rev in revlog" works but does silly O(n)
lookup unexpectedly. So it seems good to add fast version of __contains__.
This allows "rev in repo.changelog" in the next patch.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Wed, 04 Feb 2015 21:25:57 +0900 |
parents | 25e572394f5c |
children | 1a5211f2f87f |
line wrap: on
line source
# node.py - basic nodeid manipulation for mercurial # # Copyright 2005, 2006 Matt Mackall <mpm@selenic.com> # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. import binascii nullrev = -1 nullid = "\0" * 20 # This ugly style has a noticeable effect in manifest parsing hex = binascii.hexlify bin = binascii.unhexlify def short(node): return hex(node[:6])