summaryrefslogtreecommitdiff
path: root/Documentation/git-fetch-pack.txt
blob: a069f8d9a9a9033e4c7796125e44fad6c1820704 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
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
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
-------
--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::
	Spend extra cycles to minimize the number of objects to be sent.
	Use it on slower connection.

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