patch.py: re-add the ability to use an external patch program
This is now invoked by default only if ui.patch is set. Otherwise, we
use our built-in patch. If that fails because it can't find any valid
hunks, we'll fall back to trying the external patch command.
"""
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, incorporated herein by reference.
"""
import binascii
nullrev = -1
nullid = "\0" * 20
def hex(node):
return binascii.hexlify(node)
def bin(node):
return binascii.unhexlify(node)
def short(node):
return hex(node[:6])