mirror of
https://github.com/git-for-windows/git.git
synced 2026-04-29 22:49:20 -05:00
This is a highly useful command, and we want it to get some testing "in the wild". However, the patches have not yet been reviewed on the Git mailing list, and are therefore subject to change. By marking the command as experimental, users will be warned to pay attention to those changes. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
61 lines
2.1 KiB
Plaintext
61 lines
2.1 KiB
Plaintext
git-backfill(1)
|
|
===============
|
|
|
|
NAME
|
|
----
|
|
git-backfill - Download missing objects in a partial clone
|
|
|
|
|
|
SYNOPSIS
|
|
--------
|
|
[verse]
|
|
(EXPERIMENTAL) 'git backfill' [--batch-size=<n>] [--[no-]sparse]
|
|
|
|
DESCRIPTION
|
|
-----------
|
|
|
|
Blobless partial clones are created using `git clone --filter=blob:none`
|
|
and then configure the local repository such that the Git client avoids
|
|
downloading blob objects unless they are required for a local operation.
|
|
This initially means that the clone and later fetches download reachable
|
|
commits and trees but no blobs. Later operations that change the `HEAD`
|
|
pointer, such as `git checkout` or `git merge`, may need to download
|
|
missing blobs in order to complete their operation.
|
|
|
|
In the worst cases, commands that compute blob diffs, such as `git blame`,
|
|
become very slow as they download the missing blobs in single-blob
|
|
requests to satisfy the missing object as the Git command needs it. This
|
|
leads to multiple download requests and no ability for the Git server to
|
|
provide delta compression across those objects.
|
|
|
|
The `git backfill` command provides a way for the user to request that
|
|
Git downloads the missing blobs (with optional filters) such that the
|
|
missing blobs representing historical versions of files can be downloaded
|
|
in batches. The `backfill` command attempts to optimize the request by
|
|
grouping blobs that appear at the same path, hopefully leading to good
|
|
delta compression in the packfile sent by the server.
|
|
|
|
By default, `git backfill` downloads all blobs reachable from the `HEAD`
|
|
commit. This set can be restricted or expanded using various options.
|
|
|
|
OPTIONS
|
|
-------
|
|
|
|
--batch-size=<n>::
|
|
Specify a minimum size for a batch of missing objects to request
|
|
from the server. This size may be exceeded by the last set of
|
|
blobs seen at a given path. Default batch size is 16,000.
|
|
|
|
--[no-]sparse::
|
|
Only download objects if they appear at a path that matches the
|
|
current sparse-checkout. If the sparse-checkout feature is enabled,
|
|
then `--sparse` is assumed and can be disabled with `--no-sparse`.
|
|
|
|
SEE ALSO
|
|
--------
|
|
linkgit:git-clone[1].
|
|
|
|
GIT
|
|
---
|
|
Part of the linkgit:git[1] suite
|