path.c: refactor relative_path(), not only strip prefix
[gitweb.git] / Documentation / git-fetch-pack.txt
index 59afa14a3098f8d3109b04ef30e366277b73c99c..b81e90d8e70722e0da690ab5afa1bca4ad356b68 100644 (file)
@@ -1,22 +1,28 @@
 git-fetch-pack(1)
 =================
-v0.1, July 2005
 
 NAME
 ----
-git-fetch-pack - Receive missing objects from another repository.
+git-fetch-pack - Receive missing objects from another repository
 
 
 SYNOPSIS
 --------
-git-fetch-pack [-q] [--exec=<git-upload-pack>] [<host>:]<directory> [<refs>...]
+[verse]
+'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
 -----------
-Invokes 'git-upload-pack' on a potentially remote repository,
+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
+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
@@ -26,22 +32,67 @@ have a common ancestor commit.
 
 OPTIONS
 -------
+--all::
+       Fetch all remote refs.
+
+--stdin::
+       Take the list of refs from stdin, one per line. If there
+       are refs specified on the command line in addition to this
+       option, then the refs from stdin are processed after those
+       on the command line.
++
+If '--stateless-rpc' is specified together with this option then
+the list of refs must be in packet format (pkt-line). Each ref must
+be in a separate packet, and the list must end with a flush packet.
+
 -q::
-       Pass '-q' flag to 'git-unpack-objects'; this makes the
+--quiet::
+       Pass '-q' flag to 'git unpack-objects'; this makes the
        cloning process less verbose.
 
---exec=<git-upload-pack>::
+-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
+       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.
+       'git-upload-pack' treats the special depth 2147483647 as
+       infinite even if there is an ancestor-chain that long.
+
+--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
@@ -55,15 +106,6 @@ OPTIONS
        $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 link:git.html[git] suite
+Part of the linkgit:git[1] suite