mirror of
https://github.com/git/git.git
synced 2026-01-10 10:13:33 +00:00
The "git refs migrate" subcommand converts the backend used for ref storage. It always migrates reflog data as well as refs. Introduce an option to exclude reflogs from migration, allowing them to be discarded when they are unnecessary. This is particularly useful in server-side repositories, where reflogs are typically not expected. However, some repositories may still have them due to historical reasons, such as bugs, misconfigurations, or administrative decisions to enable reflogs for debugging. In such repositories, it would be optimal to drop reflogs during the migration. To address this, introduce the '--no-reflog' flag, which prevents reflog migration. When this flag is used, reflogs from the original reference backend are migrated. Since only the new reference backend remains in the repository, all previous reflogs are permanently discarded. Helped-by: Junio C Hamano <gitster@pobox.com> Helped-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Karthik Nayak <karthik.188@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
78 lines
1.9 KiB
Plaintext
78 lines
1.9 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]
|
|
|
|
DESCRIPTION
|
|
-----------
|
|
|
|
This command provides low-level access to refs.
|
|
|
|
COMMANDS
|
|
--------
|
|
|
|
migrate::
|
|
Migrate ref store between different formats.
|
|
|
|
verify::
|
|
Verify reference database consistency.
|
|
|
|
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.txt[]
|
|
|
|
--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.
|
|
|
|
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
|