mercurial/node.py
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue, 20 Sep 2011 20:21:04 +0200
changeset 15147 395ca8cd2669
parent 10263 25e572394f5c
child 25737 1a5211f2f87f
permissions -rw-r--r--
revset.bisect: add 'ignored' set to the bisect keyword The 'ignored' changesets are outside the bisection range, but are changesets that may have an impact on the outcome of the bisection. For example, in case there's a merge between the good and bad csets, but the branch-point is out of the bisection range, and the issue originates from this branch, the branch will not be visited by bisect and bisect will find that the culprit cset is the merge. So, the 'ignored' set is equivalent to: ( ( ::bisect(bad) - ::bisect(good) ) | ( ::bisect(good) - ::bisect(bad) ) ) - bisect(range) - all ancestors of bad csets that are not ancestors of good csets, or - all ancestors of good csets that are not ancestors of bad csets - but that are not in the bisection range. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

# 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])