2 .\" Title: git-upload-archive
3 .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
4 .\" Generator: DocBook XSL Stylesheets v1.79.2 <http://docbook.sf.net/>
7 .\" Source: Git 2.46.0.46.g406f326d27
10 .TH "GIT\-UPLOAD\-ARCHIVE" "1" "2024-08-01" "Git 2\&.46\&.0\&.46\&.g406f326" "Git Manual"
11 .\" -----------------------------------------------------------------
12 .\" * Define some portability stuff
13 .\" -----------------------------------------------------------------
14 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15 .\" http://bugs.debian.org/507673
16 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
17 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20 .\" -----------------------------------------------------------------
21 .\" * set default formatting
22 .\" -----------------------------------------------------------------
23 .\" disable hyphenation
25 .\" disable justification (adjust text to left margin only)
27 .\" -----------------------------------------------------------------
28 .\" * MAIN CONTENT STARTS HERE *
29 .\" -----------------------------------------------------------------
31 git-upload-archive \- Send archive back to git\-archive
35 \fIgit upload\-archive\fR <repository>
39 Invoked by \fIgit archive \-\-remote\fR and sends a generated archive to the other end over the Git protocol\&.
41 This command is usually not invoked directly by the end user\&. The UI for the protocol is on the \fIgit archive\fR side, and the program pair is meant to be used to get an archive from a remote repository\&.
44 In order to protect the privacy of objects that have been removed from history but may not yet have been pruned, \fBgit\-upload\-archive\fR avoids serving archives for commits and trees that are not reachable from the repository\(cqs refs\&. However, because calculating object reachability is computationally expensive, \fBgit\-upload\-archive\fR implements a stricter but easier\-to\-check set of rules:
54 Clients may request a commit or tree that is pointed to directly by a ref\&. E\&.g\&.,
55 \fBgit archive \-\-remote=origin v1\&.0\fR\&.
66 Clients may request a sub\-tree within a commit or tree using the
69 \fBgit archive \-\-remote=origin v1\&.0:Documentation\fR\&.
82 use other sha1 expressions, even if the end result is reachable\&. E\&.g\&., neither a relative commit like
84 nor a literal sha1 like
86 is allowed, even if the result is reachable from the refs\&.
89 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 \fBgit archive \-\-remote\fR may or may not follow these exact rules\&.
91 If the config option \fBuploadArchive\&.allowUnreachable\fR 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\&.
96 The repository to get a tar archive from\&.
100 Part of the \fBgit\fR(1) suite