mirror of
https://github.com/git/git.git
synced 2024-11-29 21:15:15 +08:00
4dcb167fc3
The user can do --depth=2147483647 (*) for restoring complete repo now. But it's hard to remember. Any other numbers larger than the longest commit chain in the repository would also do, but some guessing may be involved. Make easy-to-remember --unshallow an alias for --depth=2147483647. Make upload-pack recognize this special number as infinite depth. The effect is essentially the same as before, except that upload-pack is more efficient because it does not have to traverse to the bottom anymore. The chance of a user actually wanting exactly 2147483647 commits depth, not infinite, on a repository with a history that long, is probably too small to consider. The client can learn to add or subtract one commit to avoid the special treatment when that actually happens. (*) This is the largest positive number a 32-bit signed integer can contain. JGit and older C Git store depth as "int" so both are OK with this number. Dulwich does not support shallow clone. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
112 lines
3.3 KiB
Plaintext
112 lines
3.3 KiB
Plaintext
git-fetch-pack(1)
|
|
=================
|
|
|
|
NAME
|
|
----
|
|
git-fetch-pack - Receive missing objects from another repository
|
|
|
|
|
|
SYNOPSIS
|
|
--------
|
|
[verse]
|
|
'git fetch-pack' [--all] [--quiet|-q] [--keep|-k] [--thin] [--include-tag]
|
|
[--upload-pack=<git-upload-pack>]
|
|
[--depth=<n>] [--no-progress]
|
|
[-v] [<host>:]<directory> [<refs>...]
|
|
|
|
DESCRIPTION
|
|
-----------
|
|
Usually you would want to use 'git fetch', which is a
|
|
higher level wrapper of this command, instead.
|
|
|
|
Invokes 'git-upload-pack' on a possibly remote repository
|
|
and asks it to send objects missing from this repository, to
|
|
update the named heads. The list of commits available locally
|
|
is found out by scanning the local refs/ hierarchy and sent to
|
|
'git-upload-pack' running on the other end.
|
|
|
|
This command degenerates to download everything to complete the
|
|
asked refs from the remote side when the local side does not
|
|
have a common ancestor commit.
|
|
|
|
|
|
OPTIONS
|
|
-------
|
|
--all::
|
|
Fetch all remote refs.
|
|
|
|
--stdin::
|
|
Take the list of refs from stdin, one per line. If there
|
|
are refs specified on the command line in addition to this
|
|
option, then the refs from stdin are processed after those
|
|
on the command line.
|
|
+
|
|
If '--stateless-rpc' is specified together with this option then
|
|
the list of refs must be in packet format (pkt-line). Each ref must
|
|
be in a separate packet, and the list must end with a flush packet.
|
|
|
|
-q::
|
|
--quiet::
|
|
Pass '-q' flag to 'git unpack-objects'; this makes the
|
|
cloning process less verbose.
|
|
|
|
-k::
|
|
--keep::
|
|
Do not invoke 'git unpack-objects' on received data, but
|
|
create a single packfile out of it instead, and store it
|
|
in the object database. If provided twice then the pack is
|
|
locked against repacking.
|
|
|
|
--thin::
|
|
Fetch a "thin" pack, which records objects in deltified form based
|
|
on objects not included in the pack to reduce network traffic.
|
|
|
|
--include-tag::
|
|
If the remote side supports it, annotated tags objects will
|
|
be downloaded on the same connection as the other objects if
|
|
the object the tag references is downloaded. The caller must
|
|
otherwise determine the tags this option made available.
|
|
|
|
--upload-pack=<git-upload-pack>::
|
|
Use this to specify the path to 'git-upload-pack' on the
|
|
remote side, if is not found on your $PATH.
|
|
Installations of sshd ignores the user's environment
|
|
setup scripts for login shells (e.g. .bash_profile) and
|
|
your privately installed git may not be found on the system
|
|
default $PATH. Another workaround suggested is to set
|
|
up your $PATH in ".bashrc", but this flag is for people
|
|
who do not want to pay the overhead for non-interactive
|
|
shells by having a lean .bashrc file (they set most of
|
|
the things up in .bash_profile).
|
|
|
|
--exec=<git-upload-pack>::
|
|
Same as \--upload-pack=<git-upload-pack>.
|
|
|
|
--depth=<n>::
|
|
Limit fetching to ancestor-chains not longer than n.
|
|
'git-upload-pack' treats the special depth 2147483647 as
|
|
infinite even if there is an ancestor-chain that long.
|
|
|
|
--no-progress::
|
|
Do not show the progress.
|
|
|
|
-v::
|
|
Run verbosely.
|
|
|
|
<host>::
|
|
A remote host that houses the repository. When this
|
|
part is specified, 'git-upload-pack' is invoked via
|
|
ssh.
|
|
|
|
<directory>::
|
|
The repository to sync from.
|
|
|
|
<refs>...::
|
|
The remote heads to update from. This is relative to
|
|
$GIT_DIR (e.g. "HEAD", "refs/heads/master"). When
|
|
unspecified, update from all heads the remote side has.
|
|
|
|
GIT
|
|
---
|
|
Part of the linkgit:git[1] suite
|