Show More
1 | NO CONTENT: new file 100644 |
|
NO CONTENT: new file 100644 |
@@ -0,0 +1,46 b'' | |||||
|
1 | # revlogdeltas.py - constant used for revlog logic | |||
|
2 | # | |||
|
3 | # Copyright 2005-2007 Matt Mackall <mpm@selenic.com> | |||
|
4 | # Copyright 2018 Octobus <contact@octobus.net> | |||
|
5 | # | |||
|
6 | # This software may be used and distributed according to the terms of the | |||
|
7 | # GNU General Public License version 2 or any later version. | |||
|
8 | """Helper class to compute deltas stored inside revlogs""" | |||
|
9 | ||||
|
10 | from __future__ import absolute_import | |||
|
11 | ||||
|
12 | from .. import ( | |||
|
13 | util, | |||
|
14 | ) | |||
|
15 | ||||
|
16 | # revlog header flags | |||
|
17 | REVLOGV0 = 0 | |||
|
18 | REVLOGV1 = 1 | |||
|
19 | # Dummy value until file format is finalized. | |||
|
20 | # Reminder: change the bounds check in revlog.__init__ when this is changed. | |||
|
21 | REVLOGV2 = 0xDEAD | |||
|
22 | FLAG_INLINE_DATA = (1 << 16) | |||
|
23 | FLAG_GENERALDELTA = (1 << 17) | |||
|
24 | REVLOG_DEFAULT_FLAGS = FLAG_INLINE_DATA | |||
|
25 | REVLOG_DEFAULT_FORMAT = REVLOGV1 | |||
|
26 | REVLOG_DEFAULT_VERSION = REVLOG_DEFAULT_FORMAT | REVLOG_DEFAULT_FLAGS | |||
|
27 | REVLOGV1_FLAGS = FLAG_INLINE_DATA | FLAG_GENERALDELTA | |||
|
28 | REVLOGV2_FLAGS = REVLOGV1_FLAGS | |||
|
29 | ||||
|
30 | # revlog index flags | |||
|
31 | REVIDX_ISCENSORED = (1 << 15) # revision has censor metadata, must be verified | |||
|
32 | REVIDX_ELLIPSIS = (1 << 14) # revision hash does not match data (narrowhg) | |||
|
33 | REVIDX_EXTSTORED = (1 << 13) # revision data is stored externally | |||
|
34 | REVIDX_DEFAULT_FLAGS = 0 | |||
|
35 | # stable order in which flags need to be processed and their processors applied | |||
|
36 | REVIDX_FLAGS_ORDER = [ | |||
|
37 | REVIDX_ISCENSORED, | |||
|
38 | REVIDX_ELLIPSIS, | |||
|
39 | REVIDX_EXTSTORED, | |||
|
40 | ] | |||
|
41 | REVIDX_KNOWN_FLAGS = util.bitsfrom(REVIDX_FLAGS_ORDER) | |||
|
42 | # bitmark for flags that could cause rawdata content change | |||
|
43 | REVIDX_RAWTEXT_CHANGING_FLAGS = REVIDX_ISCENSORED | REVIDX_EXTSTORED | |||
|
44 | ||||
|
45 | # maximum <delta-chain-data>/<revision-text-length> ratio | |||
|
46 | LIMIT_DELTA2TEXT = 2 |
@@ -28,6 +28,8 b' allowsymbolimports = (' | |||||
28 | 'mercurial.hgweb.request', |
|
28 | 'mercurial.hgweb.request', | |
29 | 'mercurial.i18n', |
|
29 | 'mercurial.i18n', | |
30 | 'mercurial.node', |
|
30 | 'mercurial.node', | |
|
31 | # for revlog to re-export constant to extensions | |||
|
32 | 'mercurial.revlogutils.constants', | |||
31 | # for cffi modules to re-export pure functions |
|
33 | # for cffi modules to re-export pure functions | |
32 | 'mercurial.pure.base85', |
|
34 | 'mercurial.pure.base85', | |
33 | 'mercurial.pure.bdiff', |
|
35 | 'mercurial.pure.bdiff', |
@@ -36,6 +36,26 b' from .node import (' | |||||
36 | wdirrev, |
|
36 | wdirrev, | |
37 | ) |
|
37 | ) | |
38 | from .i18n import _ |
|
38 | from .i18n import _ | |
|
39 | from .revlogutils.constants import ( | |||
|
40 | FLAG_GENERALDELTA, | |||
|
41 | FLAG_INLINE_DATA, | |||
|
42 | LIMIT_DELTA2TEXT, | |||
|
43 | REVIDX_DEFAULT_FLAGS, | |||
|
44 | REVIDX_ELLIPSIS, | |||
|
45 | REVIDX_EXTSTORED, | |||
|
46 | REVIDX_FLAGS_ORDER, | |||
|
47 | REVIDX_ISCENSORED, | |||
|
48 | REVIDX_KNOWN_FLAGS, | |||
|
49 | REVIDX_RAWTEXT_CHANGING_FLAGS, | |||
|
50 | REVLOGV0, | |||
|
51 | REVLOGV1, | |||
|
52 | REVLOGV1_FLAGS, | |||
|
53 | REVLOGV2, | |||
|
54 | REVLOGV2_FLAGS, | |||
|
55 | REVLOG_DEFAULT_FLAGS, | |||
|
56 | REVLOG_DEFAULT_FORMAT, | |||
|
57 | REVLOG_DEFAULT_VERSION, | |||
|
58 | ) | |||
39 | from .thirdparty import ( |
|
59 | from .thirdparty import ( | |
40 | attr, |
|
60 | attr, | |
41 | ) |
|
61 | ) | |
@@ -54,40 +74,31 b' from .utils import (' | |||||
54 | stringutil, |
|
74 | stringutil, | |
55 | ) |
|
75 | ) | |
56 |
|
76 | |||
|
77 | # blanked usage of all the name to prevent pyflakes constraints | |||
|
78 | # We need these name available in the module for extensions. | |||
|
79 | REVLOGV0 | |||
|
80 | REVLOGV1 | |||
|
81 | REVLOGV2 | |||
|
82 | FLAG_INLINE_DATA | |||
|
83 | FLAG_GENERALDELTA | |||
|
84 | REVLOG_DEFAULT_FLAGS | |||
|
85 | REVLOG_DEFAULT_FORMAT | |||
|
86 | REVLOG_DEFAULT_VERSION | |||
|
87 | REVLOGV1_FLAGS | |||
|
88 | REVLOGV2_FLAGS | |||
|
89 | REVIDX_ISCENSORED | |||
|
90 | REVIDX_ELLIPSIS | |||
|
91 | REVIDX_EXTSTORED | |||
|
92 | REVIDX_DEFAULT_FLAGS | |||
|
93 | REVIDX_FLAGS_ORDER | |||
|
94 | REVIDX_KNOWN_FLAGS | |||
|
95 | REVIDX_RAWTEXT_CHANGING_FLAGS | |||
|
96 | ||||
57 | parsers = policy.importmod(r'parsers') |
|
97 | parsers = policy.importmod(r'parsers') | |
58 |
|
98 | |||
59 | # Aliased for performance. |
|
99 | # Aliased for performance. | |
60 | _zlibdecompress = zlib.decompress |
|
100 | _zlibdecompress = zlib.decompress | |
61 |
|
101 | |||
62 | # revlog header flags |
|
|||
63 | REVLOGV0 = 0 |
|
|||
64 | REVLOGV1 = 1 |
|
|||
65 | # Dummy value until file format is finalized. |
|
|||
66 | # Reminder: change the bounds check in revlog.__init__ when this is changed. |
|
|||
67 | REVLOGV2 = 0xDEAD |
|
|||
68 | FLAG_INLINE_DATA = (1 << 16) |
|
|||
69 | FLAG_GENERALDELTA = (1 << 17) |
|
|||
70 | REVLOG_DEFAULT_FLAGS = FLAG_INLINE_DATA |
|
|||
71 | REVLOG_DEFAULT_FORMAT = REVLOGV1 |
|
|||
72 | REVLOG_DEFAULT_VERSION = REVLOG_DEFAULT_FORMAT | REVLOG_DEFAULT_FLAGS |
|
|||
73 | REVLOGV1_FLAGS = FLAG_INLINE_DATA | FLAG_GENERALDELTA |
|
|||
74 | REVLOGV2_FLAGS = REVLOGV1_FLAGS |
|
|||
75 |
|
||||
76 | # revlog index flags |
|
|||
77 | REVIDX_ISCENSORED = (1 << 15) # revision has censor metadata, must be verified |
|
|||
78 | REVIDX_ELLIPSIS = (1 << 14) # revision hash does not match data (narrowhg) |
|
|||
79 | REVIDX_EXTSTORED = (1 << 13) # revision data is stored externally |
|
|||
80 | REVIDX_DEFAULT_FLAGS = 0 |
|
|||
81 | # stable order in which flags need to be processed and their processors applied |
|
|||
82 | REVIDX_FLAGS_ORDER = [ |
|
|||
83 | REVIDX_ISCENSORED, |
|
|||
84 | REVIDX_ELLIPSIS, |
|
|||
85 | REVIDX_EXTSTORED, |
|
|||
86 | ] |
|
|||
87 | REVIDX_KNOWN_FLAGS = util.bitsfrom(REVIDX_FLAGS_ORDER) |
|
|||
88 | # bitmark for flags that could cause rawdata content change |
|
|||
89 | REVIDX_RAWTEXT_CHANGING_FLAGS = REVIDX_ISCENSORED | REVIDX_EXTSTORED |
|
|||
90 |
|
||||
91 | # max size of revlog with inline data |
|
102 | # max size of revlog with inline data | |
92 | _maxinline = 131072 |
|
103 | _maxinline = 131072 | |
93 | _chunksize = 1048576 |
|
104 | _chunksize = 1048576 | |
@@ -854,9 +865,6 b' class revlogoldindex(list):' | |||||
854 | return (0, 0, 0, -1, -1, -1, -1, nullid) |
|
865 | return (0, 0, 0, -1, -1, -1, -1, nullid) | |
855 | return list.__getitem__(self, i) |
|
866 | return list.__getitem__(self, i) | |
856 |
|
867 | |||
857 | # maximum <delta-chain-data>/<revision-text-length> ratio |
|
|||
858 | LIMIT_DELTA2TEXT = 2 |
|
|||
859 |
|
||||
860 | class revlogoldio(object): |
|
868 | class revlogoldio(object): | |
861 | def __init__(self): |
|
869 | def __init__(self): | |
862 | self.size = indexformatv0.size |
|
870 | self.size = indexformatv0.size |
@@ -817,6 +817,7 b" packages = ['mercurial'," | |||||
817 | 'mercurial.thirdparty.zope', |
|
817 | 'mercurial.thirdparty.zope', | |
818 | 'mercurial.thirdparty.zope.interface', |
|
818 | 'mercurial.thirdparty.zope.interface', | |
819 | 'mercurial.utils', |
|
819 | 'mercurial.utils', | |
|
820 | 'mercurial.revlogutils', | |||
820 | 'hgext', 'hgext.convert', 'hgext.fsmonitor', |
|
821 | 'hgext', 'hgext.convert', 'hgext.fsmonitor', | |
821 | 'hgext.fastannotate', |
|
822 | 'hgext.fastannotate', | |
822 | 'hgext.fsmonitor.pywatchman', |
|
823 | 'hgext.fsmonitor.pywatchman', |
General Comments 0
You need to be logged in to leave comments.
Login now