|
|
|
git-fetch-pack(1)
|
|
|
|
=================
|
|
|
|
|
|
|
|
NAME
|
|
|
|
----
|
|
|
|
git-fetch-pack - Receive missing objects from another repository
|
|
|
|
|
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
--------
|
|
|
|
'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
|
docs: don't talk about $GIT_DIR/refs/ everywhere
It is misleading to say that we pull refs from $GIT_DIR/refs/*, because we
may also consult the packed refs mechanism. These days we tend to treat
the "refs hierarchy" as more of an abstract namespace that happens to be
represented as $GIT_DIR/refs. At best, this is a minor inaccuracy, but at
worst it can confuse users who then look in $GIT_DIR/refs and find that it
is missing some of the refs they expected to see.
This patch drops most uses of "$GIT_DIR/refs/*", changing them into just
"refs/*", under the assumption that users can handle the concept of an
abstract refs namespace. There are a few things to note:
- most cases just dropped the $GIT_DIR/ portion. But for cases where
that left _just_ the word "refs", I changed it to "refs/" to help
indicate that it was a hierarchy. I didn't do the same for longer
paths (e.g., "refs/heads" remained, instead of becoming
"refs/heads/").
- in some cases, no change was made, as the text was explicitly about
unpacked refs (e.g., the discussion in git-pack-refs).
- In some cases it made sense instead to note the existence of packed
refs (e.g., in check-ref-format and rev-parse).
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years ago
|
|
|
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.
|
|
|
|
|
|
|
|
-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.
|
|
|
|
|
|
|
|
--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.
|
|
|
|
|
|
|
|
|
|
|
|
Author
|
|
|
|
------
|
|
|
|
Written by Linus Torvalds <torvalds@osdl.org>
|
|
|
|
|
|
|
|
Documentation
|
|
|
|
--------------
|
|
|
|
Documentation by Junio C Hamano.
|
|
|
|
|
|
|
|
GIT
|
|
|
|
---
|
|
|
|
Part of the linkgit:git[1] suite
|