Files
git-mirror/Documentation/git-repo.adoc
Justin Tobler eb5cf58ffc builtin/repo: add object counts in structure output
The amount of objects in a repository can provide insight regarding its
shape. To surface this information, use the path-walk API to count the
number of reachable objects in the repository by object type. All
regular references are used to determine the reachable set of objects.
The object counts are appended to the same table containing the
reference information.

Signed-off-by: Justin Tobler <jltobler@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2025-10-21 14:40:38 -07:00

101 lines
2.6 KiB
Plaintext

git-repo(1)
===========
NAME
----
git-repo - Retrieve information about the repository
SYNOPSIS
--------
[synopsis]
git repo info [--format=(keyvalue|nul)] [-z] [<key>...]
git repo structure
DESCRIPTION
-----------
Retrieve information about the repository.
THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.
COMMANDS
--------
`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 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`.
`structure`::
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 table output format may change and is not intended for machine parsing.
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