git-upload-archive(1)
=====================

NAME
----
git-upload-archive - Send archive back to git-archive


SYNOPSIS
--------
[verse]
'git upload-archive' <repository>

DESCRIPTION
-----------
Invoked by 'git archive --remote' and sends a generated archive to the
other end over the Git protocol.

This command is usually not invoked directly by the end user.  The UI
for the protocol is on the 'git archive' side, and the program pair
is meant to be used to get an archive from a remote repository.

SECURITY
--------

In order to protect the privacy of objects that have been removed from
history but may not yet have been pruned, `git-upload-archive` avoids
serving archives for commits and trees that are not reachable from the
repository's refs.  However, because calculating object reachability is
computationally expensive, `git-upload-archive` implements a stricter
but easier-to-check set of rules:

  1. Clients may request a commit or tree that is pointed to directly by
     a ref. E.g., `git archive --remote=origin v1.0`.

  2. Clients may request a sub-tree within a commit or tree using the
     `ref:path` syntax. E.g., `git archive --remote=origin v1.0:Documentation`.

  3. Clients may _not_ use other sha1 expressions, even if the end
     result is reachable. E.g., neither a relative commit like `master^`
     nor a literal sha1 like `abcd1234` is allowed, even if the result
     is reachable from the refs.

Note that rule 3 disallows many cases that do not have any privacy
implications. These rules are subject to change in future versions of
git, and the server accessed by `git archive --remote` may or may not
follow these exact rules.

If the config option `uploadArchive.allowUnreachable` is true, these
rules are ignored, and clients may use arbitrary sha1 expressions.
This is useful if you do not care about the privacy of unreachable
objects, or if your object database is already publicly available for
access via non-smart-http.

OPTIONS
-------
<repository>::
	The repository to get a tar archive from.

GIT
---
Part of the linkgit:git[1] suite
