Files
git-mirror/Documentation/git-repo.adoc
Junio C Hamano 479da5de76 Merge branch 'jt/repo-struct-more-objinfo' into seen
More object database related information are shown in "git repo
structure" output.

Comments?

* jt/repo-struct-more-objinfo:
  builtin/repo: add object disk size info to structure table
  builtin/repo: add disk size info to keyvalue stucture output
  builtin/repo: add inflated object info to structure table
  builtin/repo: add inflated object info to keyvalue structure output
  builtin/repo: humanise count values in structure output
  builtin/repo: group per-type object values into struct
2025-12-12 22:11:54 +09:00

134 lines
3.9 KiB
Plaintext

git-repo(1)
===========
NAME
----
git-repo - Retrieve information about the repository
SYNOPSIS
--------
[synopsis]
git repo info [--format=(keyvalue|nul) | -z] [--all | <key>...]
git repo info --keys [--format=(default|nul) | -z]
git repo structure [--format=(table|keyvalue|nul) | -z]
DESCRIPTION
-----------
Retrieve information about the repository.
THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.
COMMANDS
--------
`info [--format=(keyvalue|nul) | -z] [--all | <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 `--all` flag requests the values for all the available keys.
+
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 linkgit: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`.
`info --keys [--format=(default|nul) | -z]`::
List all the available keys, one per line. The output format can be chosen
through the flag `--format`. The following formats are supported:
+
`default`:::
output the keys one per line.
`nul`:::
similar to `default`, but using a NUL character after each value.
`structure [--format=(table|keyvalue|nul) | -z]`::
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
* Total inflated size of reachable objects by type
* Total disk size of reachable objects 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 linkgit: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.
+
`-z` is an alias for `--format=nul`.
INFO KEYS
---------
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:
+
include::ref-storage-format.adoc[]
EXAMPLES
--------
* 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
------------
SEE ALSO
--------
linkgit:git-rev-parse[1]
GIT
---
Part of the linkgit:git[1] suite