Show More
@@ -1,46 +1,51 b'' | |||||
1 | # requirements.py - objects and functions related to repository requirements |
|
1 | # requirements.py - objects and functions related to repository requirements | |
2 | # |
|
2 | # | |
3 | # Copyright 2005-2007 Matt Mackall <mpm@selenic.com> |
|
3 | # Copyright 2005-2007 Matt Mackall <mpm@selenic.com> | |
4 | # |
|
4 | # | |
5 | # This software may be used and distributed according to the terms of the |
|
5 | # This software may be used and distributed according to the terms of the | |
6 | # GNU General Public License version 2 or any later version. |
|
6 | # GNU General Public License version 2 or any later version. | |
7 |
|
7 | |||
8 | from __future__ import absolute_import |
|
8 | from __future__ import absolute_import | |
9 |
|
9 | |||
10 | # When narrowing is finalized and no longer subject to format changes, |
|
10 | # When narrowing is finalized and no longer subject to format changes, | |
11 | # we should move this to just "narrow" or similar. |
|
11 | # we should move this to just "narrow" or similar. | |
12 | NARROW_REQUIREMENT = b'narrowhg-experimental' |
|
12 | NARROW_REQUIREMENT = b'narrowhg-experimental' | |
13 |
|
13 | |||
14 | # Enables sparse working directory usage |
|
14 | # Enables sparse working directory usage | |
15 | SPARSE_REQUIREMENT = b'exp-sparse' |
|
15 | SPARSE_REQUIREMENT = b'exp-sparse' | |
16 |
|
16 | |||
17 | # Enables the internal phase which is used to hide changesets instead |
|
17 | # Enables the internal phase which is used to hide changesets instead | |
18 | # of stripping them |
|
18 | # of stripping them | |
19 | INTERNAL_PHASE_REQUIREMENT = b'internal-phase' |
|
19 | INTERNAL_PHASE_REQUIREMENT = b'internal-phase' | |
20 |
|
20 | |||
21 | # Stores manifest in Tree structure |
|
21 | # Stores manifest in Tree structure | |
22 | TREEMANIFEST_REQUIREMENT = b'treemanifest' |
|
22 | TREEMANIFEST_REQUIREMENT = b'treemanifest' | |
23 |
|
23 | |||
24 | # Increment the sub-version when the revlog v2 format changes to lock out old |
|
24 | # Increment the sub-version when the revlog v2 format changes to lock out old | |
25 | # clients. |
|
25 | # clients. | |
26 | REVLOGV2_REQUIREMENT = b'exp-revlogv2.1' |
|
26 | REVLOGV2_REQUIREMENT = b'exp-revlogv2.1' | |
27 |
|
27 | |||
28 | # A repository with the sparserevlog feature will have delta chains that |
|
28 | # A repository with the sparserevlog feature will have delta chains that | |
29 | # can spread over a larger span. Sparse reading cuts these large spans into |
|
29 | # can spread over a larger span. Sparse reading cuts these large spans into | |
30 | # pieces, so that each piece isn't too big. |
|
30 | # pieces, so that each piece isn't too big. | |
31 | # Without the sparserevlog capability, reading from the repository could use |
|
31 | # Without the sparserevlog capability, reading from the repository could use | |
32 | # huge amounts of memory, because the whole span would be read at once, |
|
32 | # huge amounts of memory, because the whole span would be read at once, | |
33 | # including all the intermediate revisions that aren't pertinent for the chain. |
|
33 | # including all the intermediate revisions that aren't pertinent for the chain. | |
34 | # This is why once a repository has enabled sparse-read, it becomes required. |
|
34 | # This is why once a repository has enabled sparse-read, it becomes required. | |
35 | SPARSEREVLOG_REQUIREMENT = b'sparserevlog' |
|
35 | SPARSEREVLOG_REQUIREMENT = b'sparserevlog' | |
36 |
|
36 | |||
37 | # A repository with the sidedataflag requirement will allow to store extra |
|
37 | # A repository with the sidedataflag requirement will allow to store extra | |
38 | # information for revision without altering their original hashes. |
|
38 | # information for revision without altering their original hashes. | |
39 | SIDEDATA_REQUIREMENT = b'exp-sidedata-flag' |
|
39 | SIDEDATA_REQUIREMENT = b'exp-sidedata-flag' | |
40 |
|
40 | |||
41 | # A repository with the the copies-sidedata-changeset requirement will store |
|
41 | # A repository with the the copies-sidedata-changeset requirement will store | |
42 | # copies related information in changeset's sidedata. |
|
42 | # copies related information in changeset's sidedata. | |
43 | COPIESSDC_REQUIREMENT = b'exp-copies-sidedata-changeset' |
|
43 | COPIESSDC_REQUIREMENT = b'exp-copies-sidedata-changeset' | |
44 |
|
44 | |||
45 | # The repository use persistent nodemap for the changelog and the manifest. |
|
45 | # The repository use persistent nodemap for the changelog and the manifest. | |
46 | NODEMAP_REQUIREMENT = b'persistent-nodemap' |
|
46 | NODEMAP_REQUIREMENT = b'persistent-nodemap' | |
|
47 | ||||
|
48 | # List of requirements which are working directory specific | |||
|
49 | # These requirements cannot be shared between repositories if they | |||
|
50 | # share the same store | |||
|
51 | WORKING_DIR_REQUIREMENTS = {SPARSE_REQUIREMENT} |
General Comments 0
You need to be logged in to leave comments.
Login now