mercurial/node.py
author Pierre-Yves David <pierre-yves.david@logilab.fr>
Wed, 18 Jan 2012 16:52:26 +0100
changeset 15919 69e792cf7851
parent 10263 25e572394f5c
child 25737 1a5211f2f87f
permissions -rw-r--r--
config: have a way to backup and restore value in config This is introduce to allow temporary overwriting of a config value while being able to reinstall the old value once done. The main advantage over using ``config`` and ``setconfig`` is that backup and restore will properly restore the lack of any config. Restoring the fact that there was no value is important to allow config user to keep using meaniful default value. A more naive approach will result in the following scenario:: Before: config(section, item, my_default) --> my_default temporal overwrite old = config(section, item) … setconfig(section, item, old) After config(section, item, my_default) --> None The first user of this feature should be mq to overwriting minimal phase of future commit.

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