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

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


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

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
-------
<directory>::
	The repository to get a tar archive from.

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