mercurial/node.py
author Vadim Gelfer <vadim.gelfer@gmail.com>
Thu, 15 Jun 2006 12:57:59 -0700
changeset 2435 ff2bac730b99
parent 1541 bf4e7ef08741
child 2470 fe1689273f84
permissions -rw-r--r--
http client: support persistent connections. uses keepalive module from urlgrabber package. tested against "hg serve", cgi server, and through http proxy. used ethereal to verify that only one tcp connection used during entire "hg pull" sequence. if server supports keepalive, this makes latency of "hg pull" much lower.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1089
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
     1
"""
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
     2
node.py - basic nodeid manipulation for mercurial
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
     3
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
     4
Copyright 2005 Matt Mackall <mpm@selenic.com>
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
     5
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
     6
This software may be used and distributed according to the terms
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
     7
of the GNU General Public License, incorporated herein by reference.
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
     8
"""
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
     9
1541
bf4e7ef08741 fixed some stuff pychecker shows, marked unclear/wrong stuff with XXX
twaldmann@thinkmo.de
parents: 1091
diff changeset
    10
import binascii
1089
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    11
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    12
nullid = "\0" * 20
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    13
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    14
def hex(node):
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    15
    return binascii.hexlify(node)
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    16
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    17
def bin(node):
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    18
    return binascii.unhexlify(node)
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    19
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    20
def short(node):
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    21
    return hex(node[:6])