Add an option not to use link(src, dest) && unlink(src) when that is unreliable
[git/mingw/4msysgit/kblees.git] / Documentation / git-fetch-pack.txt
blob47448da22eeebf51fe5829717df2dc7129a9b17e
1 git-fetch-pack(1)
2 =================
4 NAME
5 ----
6 git-fetch-pack - Receive missing objects from another repository
9 SYNOPSIS
10 --------
11 'git fetch-pack' [--all] [--quiet|-q] [--keep|-k] [--thin] [--include-tag] [--upload-pack=<git-upload-pack>] [--depth=<n>] [--no-progress] [-v] [<host>:]<directory> [<refs>...]
13 DESCRIPTION
14 -----------
15 Usually you would want to use 'git-fetch', which is a
16 higher level wrapper of this command, instead.
18 Invokes 'git-upload-pack' on a possibly remote repository
19 and asks it to send objects missing from this repository, to
20 update the named heads.  The list of commits available locally
21 is found out by scanning local $GIT_DIR/refs/ and sent to
22 'git-upload-pack' running on the other end.
24 This command degenerates to download everything to complete the
25 asked refs from the remote side when the local side does not
26 have a common ancestor commit.
29 OPTIONS
30 -------
31 --all::
32         Fetch all remote refs.
34 -q::
35 --quiet::
36         Pass '-q' flag to 'git-unpack-objects'; this makes the
37         cloning process less verbose.
39 -k::
40 --keep::
41         Do not invoke 'git-unpack-objects' on received data, but
42         create a single packfile out of it instead, and store it
43         in the object database. If provided twice then the pack is
44         locked against repacking.
46 --thin::
47         Spend extra cycles to minimize the number of objects to be sent.
48         Use it on slower connection.
50 --include-tag::
51         If the remote side supports it, annotated tags objects will
52         be downloaded on the same connection as the other objects if
53         the object the tag references is downloaded.  The caller must
54         otherwise determine the tags this option made available.
56 --upload-pack=<git-upload-pack>::
57         Use this to specify the path to 'git-upload-pack' on the
58         remote side, if is not found on your $PATH.
59         Installations of sshd ignores the user's environment
60         setup scripts for login shells (e.g. .bash_profile) and
61         your privately installed git may not be found on the system
62         default $PATH.  Another workaround suggested is to set
63         up your $PATH in ".bashrc", but this flag is for people
64         who do not want to pay the overhead for non-interactive
65         shells by having a lean .bashrc file (they set most of
66         the things up in .bash_profile).
68 --exec=<git-upload-pack>::
69         Same as \--upload-pack=<git-upload-pack>.
71 --depth=<n>::
72         Limit fetching to ancestor-chains not longer than n.
74 --no-progress::
75         Do not show the progress.
77 -v::
78         Run verbosely.
80 <host>::
81         A remote host that houses the repository.  When this
82         part is specified, 'git-upload-pack' is invoked via
83         ssh.
85 <directory>::
86         The repository to sync from.
88 <refs>...::
89         The remote heads to update from. This is relative to
90         $GIT_DIR (e.g. "HEAD", "refs/heads/master").  When
91         unspecified, update from all heads the remote side has.
94 Author
95 ------
96 Written by Linus Torvalds <torvalds@osdl.org>
98 Documentation
99 --------------
100 Documentation by Junio C Hamano.
104 Part of the linkgit:git[1] suite