Skip to content

Commit 5205c82

Browse files
docs: describe repo info path keys and structure metrics
Document the newly added repo info capabilities, including category keys and path-oriented key definitions. Also describe --path-format behavior for path outputs. Update git repo structure documentation to cover newly reported maxima and aggregate keyvalue/nul fields. This keeps command behavior and output keys fully specified for users and scripts. Signed-off-by: Eslam reda ragheb <eslam.reda.div@gmail.com>
1 parent 768fef4 commit 5205c82

File tree

1 file changed

+54
-4
lines changed

1 file changed

+54
-4
lines changed

Documentation/git-repo.adoc

Lines changed: 54 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ git-repo - Retrieve information about the repository
88
SYNOPSIS
99
--------
1010
[synopsis]
11-
git repo info [--format=(lines|nul) | -z] [--all | <key>...]
11+
git repo info [--format=(lines|nul) | -z] [--path-format=(absolute|relative)] [--all | <key>...]
1212
git repo info --keys [--format=(lines|nul) | -z]
1313
git repo structure [--format=(table|lines|nul) | -z]
1414

@@ -56,6 +56,11 @@ supported:
5656
`nul`:::
5757
Similar to `lines`, but using a _NUL_ character after each value.
5858

59+
`--path-format=(absolute|relative)`:::
60+
Controls formatting for keys in the `path` category. The default is
61+
`absolute`. This option may be specified multiple times; the last one
62+
specified takes effect.
63+
5964
`structure [--format=(table|lines|nul) | -z]`::
6065
Retrieve statistics about the current repository structure. The
6166
following kinds of information are reported:
@@ -64,6 +69,12 @@ supported:
6469
* Reachable object counts categorized by type
6570
* Total inflated size of reachable objects by type
6671
* Total disk size of reachable objects by type
72+
* Largest inflated reachable object size by type
73+
* Largest disk size of a reachable object by type
74+
* Largest parent count among reachable commits
75+
* Largest entry count among reachable trees
76+
* Longest and deepest path among reachable blobs
77+
* Deepest annotated tag chain
6778
+
6879
The output format can be chosen through the flag `--format`. Three formats are
6980
supported:
@@ -76,6 +87,7 @@ supported:
7687
`lines`:::
7788
Each line of output contains a key-value pair for a repository stat.
7889
The '=' character is used to delimit between the key and the value.
90+
Both aggregate metrics and per-type metrics are included.
7991
Values containing "unusual" characters are quoted as explained for the
8092
configuration variable `core.quotePath` (see linkgit:git-config[1]).
8193

@@ -90,9 +102,11 @@ supported:
90102

91103
INFO KEYS
92104
---------
93-
In order to obtain a set of values from `git repo info`, you should provide
94-
the keys that identify them. Here's a list of the available keys and the
95-
values that they return:
105+
In order to obtain values from `git repo info`, provide either individual keys
106+
or category names. A category returns all keys within that category. For
107+
example, `layout` returns both `layout.bare` and `layout.shallow`.
108+
109+
Here's a list of the available keys and the values that they return:
96110

97111
`layout.bare`::
98112
`true` if this is a bare repository, otherwise `false`.
@@ -103,6 +117,42 @@ values that they return:
103117
`object.format`::
104118
The object format (hash algorithm) used in the repository.
105119

120+
`path.common-dir`::
121+
The path to the common git directory.
122+
123+
`path.config-file`::
124+
The path to the `config` file in the git directory.
125+
126+
`path.git-dir`::
127+
The path to the git directory.
128+
129+
`path.prefix`::
130+
The path of the current working directory relative to the top-level
131+
directory.
132+
133+
`path.grafts-file`::
134+
The path to the `info/grafts` file.
135+
136+
`path.hooks-directory`::
137+
The path to the `hooks` directory.
138+
139+
`path.index-file`::
140+
The path to the index file.
141+
142+
`path.objects-directory`::
143+
The path to the objects directory.
144+
145+
`path.superproject-working-tree`::
146+
The path to the superproject's working tree root, or an empty string
147+
when the repository is not used as a submodule.
148+
149+
`path.toplevel`::
150+
The path to the top-level working tree directory, or an empty string
151+
for bare repositories.
152+
153+
`path.working-tree`::
154+
Alias for `path.toplevel`.
155+
106156
`references.format`::
107157
The reference storage format. The valid values are:
108158
+

0 commit comments

Comments
 (0)