Mercurial > hg
annotate mercurial/requirements.py @ 48601:baddab229b86
stream-clone: add a explicit set list requirements relevant to stream clone
This set explicitly lists all the requirements that "stream clone" will
preserve. Any other one will not be preserved.
The role of listing the relevant one was previously filled by
`repo.supportedformat`, but it seems clearer to use that such global and
explicit set. The `repo.supportedformat` attribute will be cleaned up in a later
changeset
The true meaning of `repo.supportedformat` vs `repo._basesupported` was lost
over time so, the content is currently bad. For example, `dirstate-v2` is
currently considered relevant to the stream clone, or internal phase is
missing. We kept the same content in this changeset and we will fix them later.
Differential Revision: https://phab.mercurial-scm.org/D12032
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 17 Jan 2022 19:26:36 +0100 |
parents | dfbfa802876b |
children | 66b59fbb0cdd |
rev | line source |
---|---|
45372
77b8588dd84e
requirements: introduce new requirements related module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
1 # requirements.py - objects and functions related to repository requirements |
77b8588dd84e
requirements: introduce new requirements related module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
2 # |
46819
d4ba4d51f85f
contributor: change mentions of mpm to olivia
Raphaël Gomès <rgomes@octobus.net>
parents:
46704
diff
changeset
|
3 # Copyright 2005-2007 Olivia Mackall <olivia@selenic.com> |
45372
77b8588dd84e
requirements: introduce new requirements related module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
4 # |
77b8588dd84e
requirements: introduce new requirements related module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
5 # This software may be used and distributed according to the terms of the |
77b8588dd84e
requirements: introduce new requirements related module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
6 # GNU General Public License version 2 or any later version. |
77b8588dd84e
requirements: introduce new requirements related module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
7 |
77b8588dd84e
requirements: introduce new requirements related module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
8 from __future__ import absolute_import |
77b8588dd84e
requirements: introduce new requirements related module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
9 |
46627
f4c325bf80fc
requirements: also add a generaldelta constant
Raphaël Gomès <rgomes@octobus.net>
parents:
46626
diff
changeset
|
10 GENERALDELTA_REQUIREMENT = b'generaldelta' |
46636
c3773636ddbb
requirements: also add a dotencode constant
Raphaël Gomès <rgomes@octobus.net>
parents:
46627
diff
changeset
|
11 DOTENCODE_REQUIREMENT = b'dotencode' |
46637
ab58098bebed
requirements: also add a store constant
Raphaël Gomès <rgomes@octobus.net>
parents:
46636
diff
changeset
|
12 STORE_REQUIREMENT = b'store' |
46638
b4c2a2af25e2
requirements: also add a fncache constant
Raphaël Gomès <rgomes@octobus.net>
parents:
46637
diff
changeset
|
13 FNCACHE_REQUIREMENT = b'fncache' |
46627
f4c325bf80fc
requirements: also add a generaldelta constant
Raphaël Gomès <rgomes@octobus.net>
parents:
46626
diff
changeset
|
14 |
48295
bf11ff22a9af
dirstate-v2: freeze the on-disk format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47277
diff
changeset
|
15 DIRSTATE_V2_REQUIREMENT = b'dirstate-v2' |
47277
ed0d54b20c5b
dirstate-v2: Add a new experimental `exp-dirstate-v2` repository requirement
Simon Sapin <simon.sapin@octobus.net>
parents:
47263
diff
changeset
|
16 |
45372
77b8588dd84e
requirements: introduce new requirements related module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
17 # When narrowing is finalized and no longer subject to format changes, |
77b8588dd84e
requirements: introduce new requirements related module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
18 # we should move this to just "narrow" or similar. |
77b8588dd84e
requirements: introduce new requirements related module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
19 NARROW_REQUIREMENT = b'narrowhg-experimental' |
77b8588dd84e
requirements: introduce new requirements related module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
20 |
77b8588dd84e
requirements: introduce new requirements related module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
21 # Enables sparse working directory usage |
77b8588dd84e
requirements: introduce new requirements related module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
22 SPARSE_REQUIREMENT = b'exp-sparse' |
77b8588dd84e
requirements: introduce new requirements related module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
23 |
77b8588dd84e
requirements: introduce new requirements related module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
24 # Enables the internal phase which is used to hide changesets instead |
77b8588dd84e
requirements: introduce new requirements related module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
25 # of stripping them |
77b8588dd84e
requirements: introduce new requirements related module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
26 INTERNAL_PHASE_REQUIREMENT = b'internal-phase' |
77b8588dd84e
requirements: introduce new requirements related module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
27 |
77b8588dd84e
requirements: introduce new requirements related module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
28 # Stores manifest in Tree structure |
77b8588dd84e
requirements: introduce new requirements related module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff
changeset
|
29 TREEMANIFEST_REQUIREMENT = b'treemanifest' |
45373
d7dcc75a3eae
localrepo: move requirements constant to requirements module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45372
diff
changeset
|
30 |
46626
ee91966aec0f
requirements: add constant for revlog v1 requirement
Raphaël Gomès <rgomes@octobus.net>
parents:
46334
diff
changeset
|
31 REVLOGV1_REQUIREMENT = b'revlogv1' |
ee91966aec0f
requirements: add constant for revlog v1 requirement
Raphaël Gomès <rgomes@octobus.net>
parents:
46334
diff
changeset
|
32 |
45373
d7dcc75a3eae
localrepo: move requirements constant to requirements module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45372
diff
changeset
|
33 # Increment the sub-version when the revlog v2 format changes to lock out old |
d7dcc75a3eae
localrepo: move requirements constant to requirements module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45372
diff
changeset
|
34 # clients. |
47263
6c84fc9c9a90
changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47229
diff
changeset
|
35 CHANGELOGV2_REQUIREMENT = b'exp-changelog-v2' |
6c84fc9c9a90
changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47229
diff
changeset
|
36 |
6c84fc9c9a90
changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47229
diff
changeset
|
37 # Increment the sub-version when the revlog v2 format changes to lock out old |
6c84fc9c9a90
changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47229
diff
changeset
|
38 # clients. |
46704
913485776542
revlog: introduce v2 format
Raphaël Gomès <rgomes@octobus.net>
parents:
46638
diff
changeset
|
39 REVLOGV2_REQUIREMENT = b'exp-revlogv2.2' |
45373
d7dcc75a3eae
localrepo: move requirements constant to requirements module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45372
diff
changeset
|
40 |
d7dcc75a3eae
localrepo: move requirements constant to requirements module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45372
diff
changeset
|
41 # A repository with the sparserevlog feature will have delta chains that |
d7dcc75a3eae
localrepo: move requirements constant to requirements module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45372
diff
changeset
|
42 # can spread over a larger span. Sparse reading cuts these large spans into |
d7dcc75a3eae
localrepo: move requirements constant to requirements module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45372
diff
changeset
|
43 # pieces, so that each piece isn't too big. |
d7dcc75a3eae
localrepo: move requirements constant to requirements module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45372
diff
changeset
|
44 # Without the sparserevlog capability, reading from the repository could use |
d7dcc75a3eae
localrepo: move requirements constant to requirements module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45372
diff
changeset
|
45 # huge amounts of memory, because the whole span would be read at once, |
d7dcc75a3eae
localrepo: move requirements constant to requirements module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45372
diff
changeset
|
46 # including all the intermediate revisions that aren't pertinent for the chain. |
d7dcc75a3eae
localrepo: move requirements constant to requirements module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45372
diff
changeset
|
47 # This is why once a repository has enabled sparse-read, it becomes required. |
d7dcc75a3eae
localrepo: move requirements constant to requirements module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45372
diff
changeset
|
48 SPARSEREVLOG_REQUIREMENT = b'sparserevlog' |
d7dcc75a3eae
localrepo: move requirements constant to requirements module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45372
diff
changeset
|
49 |
d7dcc75a3eae
localrepo: move requirements constant to requirements module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45372
diff
changeset
|
50 # A repository with the the copies-sidedata-changeset requirement will store |
d7dcc75a3eae
localrepo: move requirements constant to requirements module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45372
diff
changeset
|
51 # copies related information in changeset's sidedata. |
d7dcc75a3eae
localrepo: move requirements constant to requirements module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45372
diff
changeset
|
52 COPIESSDC_REQUIREMENT = b'exp-copies-sidedata-changeset' |
d7dcc75a3eae
localrepo: move requirements constant to requirements module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45372
diff
changeset
|
53 |
d7dcc75a3eae
localrepo: move requirements constant to requirements module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45372
diff
changeset
|
54 # The repository use persistent nodemap for the changelog and the manifest. |
d7dcc75a3eae
localrepo: move requirements constant to requirements module
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45372
diff
changeset
|
55 NODEMAP_REQUIREMENT = b'persistent-nodemap' |
45374
bd56597b2254
requirements: introduce a set of working directory specific requirements
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45373
diff
changeset
|
56 |
45386
034d94f8761b
requirements: introduce constants for `shared` and `relshared` requirements
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45374
diff
changeset
|
57 # Denotes that the current repository is a share |
034d94f8761b
requirements: introduce constants for `shared` and `relshared` requirements
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45374
diff
changeset
|
58 SHARED_REQUIREMENT = b'shared' |
034d94f8761b
requirements: introduce constants for `shared` and `relshared` requirements
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45374
diff
changeset
|
59 |
034d94f8761b
requirements: introduce constants for `shared` and `relshared` requirements
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45374
diff
changeset
|
60 # Denotes that current repository is a share and the shared source path is |
034d94f8761b
requirements: introduce constants for `shared` and `relshared` requirements
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45374
diff
changeset
|
61 # relative to the current repository root path |
034d94f8761b
requirements: introduce constants for `shared` and `relshared` requirements
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45374
diff
changeset
|
62 RELATIVE_SHARED_REQUIREMENT = b'relshared' |
034d94f8761b
requirements: introduce constants for `shared` and `relshared` requirements
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45374
diff
changeset
|
63 |
45483
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45386
diff
changeset
|
64 # A repository with share implemented safely. The repository has different |
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45386
diff
changeset
|
65 # store and working copy requirements i.e. both `.hg/requires` and |
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45386
diff
changeset
|
66 # `.hg/store/requires` are present. |
46334
4b0192f592cf
share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45483
diff
changeset
|
67 SHARESAFE_REQUIREMENT = b'share-safe' |
45483
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45386
diff
changeset
|
68 |
48599
dfbfa802876b
requirements: move "bookmark in store" requirements in the right module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48295
diff
changeset
|
69 # Bookmarks must be stored in the `store` part of the repository and will be |
dfbfa802876b
requirements: move "bookmark in store" requirements in the right module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48295
diff
changeset
|
70 # share accross shares |
dfbfa802876b
requirements: move "bookmark in store" requirements in the right module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48295
diff
changeset
|
71 BOOKMARKS_IN_STORE_REQUIREMENT = b'bookmarksinstore' |
dfbfa802876b
requirements: move "bookmark in store" requirements in the right module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48295
diff
changeset
|
72 |
45374
bd56597b2254
requirements: introduce a set of working directory specific requirements
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45373
diff
changeset
|
73 # List of requirements which are working directory specific |
bd56597b2254
requirements: introduce a set of working directory specific requirements
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45373
diff
changeset
|
74 # These requirements cannot be shared between repositories if they |
bd56597b2254
requirements: introduce a set of working directory specific requirements
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45373
diff
changeset
|
75 # share the same store |
45386
034d94f8761b
requirements: introduce constants for `shared` and `relshared` requirements
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45374
diff
changeset
|
76 # * sparse is a working directory specific functionality and hence working |
034d94f8761b
requirements: introduce constants for `shared` and `relshared` requirements
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45374
diff
changeset
|
77 # directory specific requirement |
034d94f8761b
requirements: introduce constants for `shared` and `relshared` requirements
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45374
diff
changeset
|
78 # * SHARED_REQUIREMENT and RELATIVE_SHARED_REQUIREMENT are requirements which |
034d94f8761b
requirements: introduce constants for `shared` and `relshared` requirements
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45374
diff
changeset
|
79 # represents that the current working copy/repository shares store of another |
034d94f8761b
requirements: introduce constants for `shared` and `relshared` requirements
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45374
diff
changeset
|
80 # repo. Hence both of them should be stored in working copy |
45483
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45386
diff
changeset
|
81 # * SHARESAFE_REQUIREMENT needs to be stored in working dir to mark that rest of |
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45386
diff
changeset
|
82 # the requirements are stored in store's requires |
47277
ed0d54b20c5b
dirstate-v2: Add a new experimental `exp-dirstate-v2` repository requirement
Simon Sapin <simon.sapin@octobus.net>
parents:
47263
diff
changeset
|
83 # * DIRSTATE_V2_REQUIREMENT affects .hg/dirstate, of which there is one per |
ed0d54b20c5b
dirstate-v2: Add a new experimental `exp-dirstate-v2` repository requirement
Simon Sapin <simon.sapin@octobus.net>
parents:
47263
diff
changeset
|
84 # working directory. |
45386
034d94f8761b
requirements: introduce constants for `shared` and `relshared` requirements
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45374
diff
changeset
|
85 WORKING_DIR_REQUIREMENTS = { |
034d94f8761b
requirements: introduce constants for `shared` and `relshared` requirements
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45374
diff
changeset
|
86 SPARSE_REQUIREMENT, |
034d94f8761b
requirements: introduce constants for `shared` and `relshared` requirements
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45374
diff
changeset
|
87 SHARED_REQUIREMENT, |
034d94f8761b
requirements: introduce constants for `shared` and `relshared` requirements
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45374
diff
changeset
|
88 RELATIVE_SHARED_REQUIREMENT, |
45483
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45386
diff
changeset
|
89 SHARESAFE_REQUIREMENT, |
47277
ed0d54b20c5b
dirstate-v2: Add a new experimental `exp-dirstate-v2` repository requirement
Simon Sapin <simon.sapin@octobus.net>
parents:
47263
diff
changeset
|
90 DIRSTATE_V2_REQUIREMENT, |
45386
034d94f8761b
requirements: introduce constants for `shared` and `relshared` requirements
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45374
diff
changeset
|
91 } |
48601
baddab229b86
stream-clone: add a explicit set list requirements relevant to stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48599
diff
changeset
|
92 |
baddab229b86
stream-clone: add a explicit set list requirements relevant to stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48599
diff
changeset
|
93 # List of requirement that impact "stream-clone" (and hardlink clone) and |
baddab229b86
stream-clone: add a explicit set list requirements relevant to stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48599
diff
changeset
|
94 # cannot be changed in such cases. |
baddab229b86
stream-clone: add a explicit set list requirements relevant to stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48599
diff
changeset
|
95 # |
baddab229b86
stream-clone: add a explicit set list requirements relevant to stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48599
diff
changeset
|
96 # requirements not in this list are safe to be altered during stream-clone. |
baddab229b86
stream-clone: add a explicit set list requirements relevant to stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48599
diff
changeset
|
97 # |
baddab229b86
stream-clone: add a explicit set list requirements relevant to stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48599
diff
changeset
|
98 # note: the list is currently inherited from previous code and miss some relevant requirement while containing some irrelevant ones. |
baddab229b86
stream-clone: add a explicit set list requirements relevant to stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48599
diff
changeset
|
99 STREAM_FIXED_REQUIREMENTS = { |
baddab229b86
stream-clone: add a explicit set list requirements relevant to stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48599
diff
changeset
|
100 BOOKMARKS_IN_STORE_REQUIREMENT, |
baddab229b86
stream-clone: add a explicit set list requirements relevant to stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48599
diff
changeset
|
101 CHANGELOGV2_REQUIREMENT, |
baddab229b86
stream-clone: add a explicit set list requirements relevant to stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48599
diff
changeset
|
102 COPIESSDC_REQUIREMENT, |
baddab229b86
stream-clone: add a explicit set list requirements relevant to stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48599
diff
changeset
|
103 DIRSTATE_V2_REQUIREMENT, |
baddab229b86
stream-clone: add a explicit set list requirements relevant to stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48599
diff
changeset
|
104 GENERALDELTA_REQUIREMENT, |
baddab229b86
stream-clone: add a explicit set list requirements relevant to stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48599
diff
changeset
|
105 NODEMAP_REQUIREMENT, |
baddab229b86
stream-clone: add a explicit set list requirements relevant to stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48599
diff
changeset
|
106 REVLOGV1_REQUIREMENT, |
baddab229b86
stream-clone: add a explicit set list requirements relevant to stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48599
diff
changeset
|
107 REVLOGV2_REQUIREMENT, |
baddab229b86
stream-clone: add a explicit set list requirements relevant to stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48599
diff
changeset
|
108 SHARESAFE_REQUIREMENT, |
baddab229b86
stream-clone: add a explicit set list requirements relevant to stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48599
diff
changeset
|
109 SPARSEREVLOG_REQUIREMENT, |
baddab229b86
stream-clone: add a explicit set list requirements relevant to stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48599
diff
changeset
|
110 TREEMANIFEST_REQUIREMENT, |
baddab229b86
stream-clone: add a explicit set list requirements relevant to stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48599
diff
changeset
|
111 } |