git-repo - Retrieve information about the repository
git repo info [--format=(keyvalue|nul)] [-z] [<key>...]
git repo structure [--format=(table|keyvalue|nul)]
Retrieve information about the repository.
THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.
info [--format=(keyvalue|nul)]
[-z] [<key>...]
Retrieve metadata-related information about the current
repository. Only the requested data will be returned based on their keys (see
"INFO KEYS" section below).
The values are returned in the same order in which their
respective keys were requested.
The output format can be chosen through the flag --format.
Two formats are supported:
keyvalue
output key-value pairs one per line using the
=
character as the delimiter between the key and the value. Values containing
"unusual" characters are quoted as explained for the configuration
variable
core.quotePath (see
git-config(1)). This is the
default.
nul
similar to
keyvalue, but using a newline character
as the delimiter between the key and the value and using a NUL character after
each value. This format is better suited for being parsed by another
applications than
keyvalue. Unlike in the
keyvalue format, the
values are never quoted.
-z is an alias for --format=nul.
structure
[--format=(table|keyvalue|nul)]
Retrieve statistics about the current repository
structure. The following kinds of information are reported:
•Reference counts categorized by type
•Reachable object counts categorized by type
The output format can be chosen through the flag --format.
Three formats are supported:
table
Outputs repository stats in a human-friendly table. This
format may change and is not intended for machine parsing. This is the default
format.
keyvalue
Each line of output contains a key-value pair for a
repository stat. The
= character is used to delimit between the key and
the value. Values containing "unusual" characters are quoted as
explained for the configuration variable
core.quotePath (see
git-config(1)).
nul
Similar to keyvalue, but uses a NUL character to
delimit between key-value pairs instead of a newline. Also uses a newline
character as the delimiter between the key and value instead of =.
Unlike the keyvalue format, values containing "unusual"
characters are never quoted.
In order to obtain a set of values from git repo
info, you should provide the keys that identify them. Here’s a
list of the available keys and the values that they return:
layout.bare
true if this is a bare repository, otherwise
false.
layout.shallow
true if this is a shallow repository, otherwise
false.
object.format
The object format (hash algorithm) used in the
repository.
references.format
The reference storage format. The valid values are:
•files for loose files with packed-refs.
This is the default.
•reftable for the reftable format. This
format is experimental and its internals are subject to change.
•Retrieves the reference format of the current
repository:
git repo info references.format
•Retrieves whether the current repository is bare
and whether it is shallow using the
nul format:
git repo info --format=nul layout.bare layout.shallow