mirror of
https://github.com/git/git.git
synced 2026-04-13 02:10:06 +02:00
As part of the ongoing effort to consolidate reference handling, introduce a new `exists` subcommand. This command provides the same functionality and exit-code behavior as `git show-ref --exists`, serving as its modern replacement. The logic for `show-ref --exists` is minimal. Rather than creating a shared helper function which would be overkill for ~20 lines of code, its implementation is intentionally duplicated here. This contrasts with `git refs list`, where sharing the larger implementation of `for-each-ref` was necessary. Documentation for the new subcommand is also added to the `git-refs(1)` man page. Mentored-by: Patrick Steinhardt <ps@pks.im> Mentored-by: shejialuo <shejialuo@gmail.com> Signed-off-by: Meet Soni <meetsoni3017@gmail.com> Acked-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
101 lines
2.8 KiB
Plaintext
101 lines
2.8 KiB
Plaintext
git-refs(1)
|
|
===========
|
|
|
|
NAME
|
|
----
|
|
git-refs - Low-level access to refs
|
|
|
|
|
|
SYNOPSIS
|
|
--------
|
|
[synopsis]
|
|
git refs migrate --ref-format=<format> [--no-reflog] [--dry-run]
|
|
git refs verify [--strict] [--verbose]
|
|
git refs list [--count=<count>] [--shell|--perl|--python|--tcl]
|
|
[(--sort=<key>)...] [--format=<format>]
|
|
[--include-root-refs] [--points-at=<object>]
|
|
[--merged[=<object>]] [--no-merged[=<object>]]
|
|
[--contains[=<object>]] [--no-contains[=<object>]]
|
|
[(--exclude=<pattern>)...] [--start-after=<marker>]
|
|
[ --stdin | <pattern>... ]
|
|
git refs exists <ref>
|
|
|
|
DESCRIPTION
|
|
-----------
|
|
|
|
This command provides low-level access to refs.
|
|
|
|
COMMANDS
|
|
--------
|
|
|
|
migrate::
|
|
Migrate ref store between different formats.
|
|
|
|
verify::
|
|
Verify reference database consistency.
|
|
|
|
list::
|
|
List references in the repository with support for filtering,
|
|
formatting, and sorting. This subcommand is an alias for
|
|
linkgit:git-for-each-ref[1] and offers identical functionality.
|
|
|
|
exists::
|
|
Check whether the given reference exists. Returns an exit code of 0 if
|
|
it does, 2 if it is missing, and 1 in case looking up the reference
|
|
failed with an error other than the reference being missing. This does
|
|
not verify whether the reference resolves to an actual object.
|
|
|
|
OPTIONS
|
|
-------
|
|
|
|
The following options are specific to 'git refs migrate':
|
|
|
|
--ref-format=<format>::
|
|
The ref format to migrate the ref store to. Can be one of:
|
|
+
|
|
include::ref-storage-format.adoc[]
|
|
|
|
--dry-run::
|
|
Perform the migration, but do not modify the repository. The migrated
|
|
refs will be written into a separate directory that can be inspected
|
|
separately. The name of the directory will be reported on stdout. This
|
|
can be used to double check that the migration works as expected before
|
|
performing the actual migration.
|
|
|
|
--reflog::
|
|
--no-reflog::
|
|
Choose between migrating the reflog data to the new backend,
|
|
and discarding them. The default is "--reflog", to migrate.
|
|
|
|
The following options are specific to 'git refs verify':
|
|
|
|
--strict::
|
|
Enable stricter error checking. This will cause warnings to be
|
|
reported as errors. See linkgit:git-fsck[1].
|
|
|
|
--verbose::
|
|
When verifying the reference database consistency, be chatty.
|
|
|
|
The following options are specific to 'git refs list':
|
|
|
|
include::for-each-ref-options.adoc[]
|
|
|
|
KNOWN LIMITATIONS
|
|
-----------------
|
|
|
|
The ref format migration has several known limitations in its current form:
|
|
|
|
* It is not possible to migrate repositories that have worktrees.
|
|
|
|
* There is no way to block concurrent writes to the repository during an
|
|
ongoing migration. Concurrent writes can lead to an inconsistent migrated
|
|
state. Users are expected to block writes on a higher level. If your
|
|
repository is registered for scheduled maintenance, it is recommended to
|
|
unregister it first with git-maintenance(1).
|
|
|
|
These limitations may eventually be lifted.
|
|
|
|
GIT
|
|
---
|
|
Part of the linkgit:git[1] suite
|