mercurial/node.py
author Pierre-Yves David <pierre-yves.david@fb.com>
Tue, 01 Apr 2014 00:08:15 -0700
changeset 20887 662b79be093c
parent 10263 25e572394f5c
child 25737 1a5211f2f87f
permissions -rw-r--r--
bundle2: safely read unpack data from part header We use the same approach that the other unpack, as function is given the struct format and his both responsible for reading the right amount of data from the header and unpack the struct. This give use flexibility if we decide to change the size of something in the format before the release.

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