mirror of
https://github.com/git-for-windows/git.git
synced 2026-07-12 16:11:28 -05:00
Users may want to specify a minimum batch size for their needs. This is only a minimum: the path-walk API provides a list of OIDs that correspond to the same path, and thus it is optimal to allow delta compression across those objects in a single server request. We could consider limiting the request to have a maximum batch size in the future. Signed-off-by: Derrick Stolee <stolee@gmail.com>
56 lines
1.8 KiB
Plaintext
56 lines
1.8 KiB
Plaintext
git-backfill(1)
|
|
===============
|
|
|
|
NAME
|
|
----
|
|
git-backfill - Download missing objects in a partial clone
|
|
|
|
|
|
SYNOPSIS
|
|
--------
|
|
[verse]
|
|
'git backfill' [--batch-size=<n>]
|
|
|
|
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.
|
|
|
|
SEE ALSO
|
|
--------
|
|
linkgit:git-clone[1].
|
|
|
|
GIT
|
|
---
|
|
Part of the linkgit:git[1] suite
|