1
- extensions.objectFormat ::
2
- Specify the hash algorithm to use. The acceptable values are `sha1` and
3
- `sha256`. If not specified, `sha1` is assumed. It is an error to specify
4
- this key unless `core.repositoryFormatVersion` is 1 .
1
+ extensions.* ::
2
+ Unless otherwise stated, is an error to specify an extension if
3
+ `core.repositoryFormatVersion` is not `1`. See
4
+ linkgit:gitrepository-layout[5] .
5
5
+
6
- Note that this setting should only be set by linkgit:git-init[1] or
7
- linkgit:git-clone[1]. Trying to change it after initialization will not
8
- work and will produce hard-to-diagnose issues.
9
-
10
- extensions.compatObjectFormat::
11
-
6
+ --
7
+ compatObjectFormat::
12
8
Specify a compatibility hash algorithm to use. The acceptable values
13
9
are `sha1` and `sha256`. The value specified must be different from the
14
- value of extensions.objectFormat. This allows client level
10
+ value of ` extensions.objectFormat` . This allows client level
15
11
interoperability between git repositories whose objectFormat matches
16
12
this compatObjectFormat. In particular when fully implemented the
17
13
pushes and pulls from a repository in whose objectFormat matches
18
14
compatObjectFormat. As well as being able to use oids encoded in
19
15
compatObjectFormat in addition to oids encoded with objectFormat to
20
16
locally specify objects.
21
17
22
- extensions.refStorage::
18
+ noop::
19
+ This extension does not change git's behavior at all. It is useful only
20
+ for testing format-1 compatibility.
21
+ +
22
+ For historical reasons, this extension is respected regardless of the
23
+ `core.repositoryFormatVersion` setting.
24
+
25
+ noop-v1::
26
+ This extension does not change git's behavior at all. It is useful only
27
+ for testing format-1 compatibility.
28
+
29
+ objectFormat::
30
+ Specify the hash algorithm to use. The acceptable values are `sha1` and
31
+ `sha256`. If not specified, `sha1` is assumed.
32
+ +
33
+ Note that this setting should only be set by linkgit:git-init[1] or
34
+ linkgit:git-clone[1]. Trying to change it after initialization will not
35
+ work and will produce hard-to-diagnose issues.
36
+
37
+ partialClone::
38
+ When enabled, indicates that the repo was created with a partial clone
39
+ (or later performed a partial fetch) and that the remote may have
40
+ omitted sending certain unwanted objects. Such a remote is called a
41
+ "promisor remote" and it promises that all such omitted objects can
42
+ be fetched from it in the future.
43
+ +
44
+ The value of this key is the name of the promisor remote.
45
+ +
46
+ For historical reasons, this extension is respected regardless of the
47
+ `core.repositoryFormatVersion` setting.
48
+
49
+ preciousObjects::
50
+ If enabled, indicates that objects in the repository MUST NOT be deleted
51
+ (e.g., by `git-prune` or `git repack -d`).
52
+ +
53
+ For historical reasons, this extension is respected regardless of the
54
+ `core.repositoryFormatVersion` setting.
55
+
56
+ refStorage::
23
57
Specify the ref storage format to use. The acceptable values are:
24
58
+
25
59
include::../ref-storage-format.txt[]
26
- +
27
- It is an error to specify this key unless `core.repositoryFormatVersion` is 1.
60
+
28
61
+
29
62
Note that this setting should only be set by linkgit:git-init[1] or
30
63
linkgit:git-clone[1]. Trying to change it after initialization will not
31
64
work and will produce hard-to-diagnose issues.
32
65
33
- extensions. worktreeConfig::
66
+ worktreeConfig::
34
67
If enabled, then worktrees will load config settings from the
35
68
`$GIT_DIR/config.worktree` file in addition to the
36
69
`$GIT_COMMON_DIR/config` file. Note that `$GIT_COMMON_DIR` and
@@ -40,23 +73,25 @@ extensions.worktreeConfig::
40
73
`config.worktree` file will override settings from any other
41
74
config files.
42
75
+
43
- When enabling `extensions.worktreeConfig` , you must be careful to move
76
+ When enabling this extension , you must be careful to move
44
77
certain values from the common config file to the main working tree's
45
78
`config.worktree` file, if present:
46
79
+
47
80
* `core.worktree` must be moved from `$GIT_COMMON_DIR/config` to
48
81
`$GIT_COMMON_DIR/config.worktree`.
49
82
* If `core.bare` is true, then it must be moved from `$GIT_COMMON_DIR/config`
50
83
to `$GIT_COMMON_DIR/config.worktree`.
84
+
51
85
+
52
86
It may also be beneficial to adjust the locations of `core.sparseCheckout`
53
87
and `core.sparseCheckoutCone` depending on your desire for customizable
54
88
sparse-checkout settings for each worktree. By default, the `git
55
- sparse-checkout` builtin enables `extensions.worktreeConfig` , assigns
89
+ sparse-checkout` builtin enables this extension , assigns
56
90
these config values on a per-worktree basis, and uses the
57
91
`$GIT_DIR/info/sparse-checkout` file to specify the sparsity for each
58
92
worktree independently. See linkgit:git-sparse-checkout[1] for more
59
93
details.
60
94
+
61
- For historical reasons, `extensions.worktreeConfig` is respected
62
- regardless of the `core.repositoryFormatVersion` setting.
95
+ For historical reasons, this extension is respected regardless of the
96
+ `core.repositoryFormatVersion` setting.
97
+ --
0 commit comments