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.48.1.40.gefff4a85a4
10 .TH "GIT\-UPLOAD\-ARCHIVE" "1" "2025-01-16" "Git 2\&.48\&.1\&.40\&.gefff4a8" "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\&.,
57 \fB\-\-remote=origin\fR
69 Clients may request a sub\-tree within a commit or tree using the
74 \fB\-\-remote=origin\fR
75 \fBv1\&.0:Documentation\fR\&.
88 use other sha1 expressions, even if the end result is reachable\&. E\&.g\&., neither a relative commit like
90 nor a literal sha1 like
92 is allowed, even if the result is reachable from the refs\&.
95 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\fR \fBarchive\fR \fB\-\-remote\fR may or may not follow these exact rules\&.
97 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\&.
102 The repository to get a tar archive from\&.
106 Part of the \fBgit\fR(1) suite