git-fetch-pack(1)
=================

NAME
----
git-fetch-pack - Receive missing objects from another repository.


SYNOPSIS
--------
git-fetch-pack [-q] [-k] [--exec=<git-upload-pack>] [<host>:]<directory> [<refs>...]

DESCRIPTION
-----------
Invokes 'git-upload-pack' on a potentially 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 local $GIT_DIR/refs/ 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
-------
-q::
	Pass '-q' flag to 'git-unpack-objects'; this makes the
	cloning process less verbose.

-k::
	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.

--exec=<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).

<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 gitlink:git[7] suite
