summaryrefslogtreecommitdiff
path: root/Documentation/git-send-pack.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/git-send-pack.txt')
-rw-r--r--Documentation/git-send-pack.txt48
1 files changed, 29 insertions, 19 deletions
diff --git a/Documentation/git-send-pack.txt b/Documentation/git-send-pack.txt
index 9e67f17302..dc3a568baa 100644
--- a/Documentation/git-send-pack.txt
+++ b/Documentation/git-send-pack.txt
@@ -3,30 +3,40 @@ git-send-pack(1)
NAME
----
-git-send-pack - Push missing objects packed
+git-send-pack - Push objects over Git protocol to another repository
SYNOPSIS
--------
-'git-send-pack' [--all] [--force] [--exec=<git-receive-pack>] [<host>:]<directory> [<ref>...]
+[verse]
+'git send-pack' [--all] [--dry-run] [--force] [--receive-pack=<git-receive-pack>] [--verbose] [--thin] [<host>:]<directory> [<ref>...]
DESCRIPTION
-----------
+Usually you would want to use 'git push', which is a
+higher-level wrapper of this command, instead. See linkgit:git-push[1].
+
Invokes 'git-receive-pack' on a possibly remote repository, and
updates it from the current repository, sending named refs.
OPTIONS
-------
---exec=<git-receive-pack>::
+--receive-pack=<git-receive-pack>::
Path to the 'git-receive-pack' program on the remote
end. Sometimes useful when pushing to a remote
repository over ssh, and you do not have the program in
a directory on the default $PATH.
+--exec=<git-receive-pack>::
+ Same as \--receive-pack=<git-receive-pack>.
+
--all::
Instead of explicitly specifying which refs to update,
- update all refs that locally exist.
+ update all heads that locally exist.
+
+--dry-run::
+ Do everything except actually send the updates.
--force::
Usually, the command refuses to update a remote ref that
@@ -35,6 +45,13 @@ OPTIONS
the remote repository can lose commits; use it with
care.
+--verbose::
+ Run verbosely.
+
+--thin::
+ Send a "thin" pack, which records objects in deltified form based
+ on objects not included in the pack to reduce network traffic.
+
<host>::
A remote host to house the repository. When this
part is specified, 'git-receive-pack' is invoked via
@@ -43,7 +60,7 @@ OPTIONS
<directory>::
The repository to update.
-<ref>...:
+<ref>...::
The remote refs to update.
@@ -57,7 +74,7 @@ With '--all' flag, all refs that exist locally are transferred to
the remote side. You cannot specify any '<ref>' if you use
this flag.
-Without '--all' and without any '<ref>', the refs that exist
+Without '--all' and without any '<ref>', the heads that exist
both on the local side and on the remote side are updated.
When one or more '<ref>' are specified explicitly, it can be either a
@@ -69,7 +86,9 @@ Each pattern pair consists of the source side (before the colon)
and the destination side (after the colon). The ref to be
pushed is determined by finding a match that matches the source
side, and where it is pushed is determined by using the
-destination side.
+destination side. The rules used to match a ref are the same
+rules used by 'git rev-parse' to resolve a symbolic ref
+name. See linkgit:git-rev-parse[1].
- It is an error if <src> does not match exactly one of the
local refs.
@@ -87,24 +106,15 @@ destination side.
Without '--force', the <src> ref is stored at the remote only if
<dst> does not exist, or <dst> is a proper subset (i.e. an
-ancestor) of <src>. This check, known as "fast forward check",
+ancestor) of <src>. This check, known as "fast-forward check",
is performed in order to avoid accidentally overwriting the
remote ref and lose other peoples' commits from there.
-With '--force', the fast forward check is disabled for all refs.
+With '--force', the fast-forward check is disabled for all refs.
Optionally, a <ref> parameter can be prefixed with a plus '+' sign
to disable the fast-forward check only on that ref.
-
-Author
-------
-Written by Linus Torvalds <torvalds@osdl.org>
-
-Documentation
---------------
-Documentation by Junio C Hamano.
-
GIT
---
-Part of the gitlink:git[7] suite
+Part of the linkgit:git[1] suite