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
