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. If provided twice then the pack is
	locked against repacking.

--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
