Mercurial > hg
view mercurial/node.py @ 36160:9fd8c2a3db5a
narrowspec: move module into core
Having support for parsing the narrow specification in core is
necessary for moving many other parts of narrow to core.
We do still want to harmonize the narrow spec with the sparse
spec. And the format needs to be documented. But this shouldn't
hold up the code moving to core.
Differential Revision: https://phab.mercurial-scm.org/D2201
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Mon, 12 Feb 2018 16:21:34 -0800 |
parents | af854b1b36f8 |
children | f574cc00831a |
line wrap: on
line source
# 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. from __future__ import absolute_import import binascii # This ugly style has a noticeable effect in manifest parsing hex = binascii.hexlify bin = binascii.unhexlify nullrev = -1 nullid = b"\0" * 20 nullhex = hex(nullid) # Phony node value to stand-in for new files in some uses of # manifests. newnodeid = '!' * 20 addednodeid = ('0' * 15) + 'added' modifiednodeid = ('0' * 12) + 'modified' wdirnodes = {newnodeid, addednodeid, modifiednodeid} # pseudo identifiers for working directory # (they are experimental, so don't add too many dependencies on them) wdirrev = 0x7fffffff wdirid = b"\xff" * 20 wdirhex = hex(wdirid) def short(node): return hex(node[:6])