Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/revlog.py @ 29339:a9e010cd66e1
revlog: use hashlib.sha1 directly instead of through util
Also remove module-local _sha alias, which was barely used.
author | Augie Fackler <raf@durin42.com> |
---|---|
date | Fri, 10 Jun 2016 00:10:34 -0400 |
parents | e7222d326ea2 |
children | d0ae5b8f80dc |
comparison
equal
deleted
inserted
replaced
29338:81c38cb9c1a1 | 29339:a9e010cd66e1 |
---|---|
13 | 13 |
14 from __future__ import absolute_import | 14 from __future__ import absolute_import |
15 | 15 |
16 import collections | 16 import collections |
17 import errno | 17 import errno |
18 import hashlib | |
18 import os | 19 import os |
19 import struct | 20 import struct |
20 import zlib | 21 import zlib |
21 | 22 |
22 # import stuff from node for others to import from revlog | 23 # import stuff from node for others to import from revlog |
38 | 39 |
39 _pack = struct.pack | 40 _pack = struct.pack |
40 _unpack = struct.unpack | 41 _unpack = struct.unpack |
41 _compress = zlib.compress | 42 _compress = zlib.compress |
42 _decompress = zlib.decompress | 43 _decompress = zlib.decompress |
43 _sha = util.sha1 | |
44 | 44 |
45 # revlog header flags | 45 # revlog header flags |
46 REVLOGV0 = 0 | 46 REVLOGV0 = 0 |
47 REVLOGNG = 1 | 47 REVLOGNG = 1 |
48 REVLOGNGINLINEDATA = (1 << 16) | 48 REVLOGNGINLINEDATA = (1 << 16) |
72 return int(q & 0xFFFF) | 72 return int(q & 0xFFFF) |
73 | 73 |
74 def offset_type(offset, type): | 74 def offset_type(offset, type): |
75 return long(long(offset) << 16 | type) | 75 return long(long(offset) << 16 | type) |
76 | 76 |
77 _nullhash = _sha(nullid) | 77 _nullhash = hashlib.sha1(nullid) |
78 | 78 |
79 def hash(text, p1, p2): | 79 def hash(text, p1, p2): |
80 """generate a hash from the given text and its parent hashes | 80 """generate a hash from the given text and its parent hashes |
81 | 81 |
82 This hash combines both the current file contents and its history | 82 This hash combines both the current file contents and its history |
90 s.update(p1) | 90 s.update(p1) |
91 else: | 91 else: |
92 # none of the parent nodes are nullid | 92 # none of the parent nodes are nullid |
93 l = [p1, p2] | 93 l = [p1, p2] |
94 l.sort() | 94 l.sort() |
95 s = _sha(l[0]) | 95 s = hashlib.sha1(l[0]) |
96 s.update(l[1]) | 96 s.update(l[1]) |
97 s.update(text) | 97 s.update(text) |
98 return s.digest() | 98 return s.digest() |
99 | 99 |
100 def decompress(bin): | 100 def decompress(bin): |