| 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 |