Autogenerated manpages for v2.40.1-423-g2807b
[git-manpages.git] / man1 / git-upload-archive.1
blob2c1b80cc81f41a07747396197eb2961645b572ea
1 '\" t
2 .\"     Title: git-upload-archive
3 .\"    Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
4 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
5 .\"      Date: 04/25/2023
6 .\"    Manual: Git Manual
7 .\"    Source: Git 2.40.1.423.g2807bd2c10
8 .\"  Language: English
9 .\"
10 .TH "GIT\-UPLOAD\-ARCHIVE" "1" "04/25/2023" "Git 2\&.40\&.1\&.423\&.g2807bd" "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 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18 .ie \n(.g .ds Aq \(aq
19 .el       .ds Aq '
20 .\" -----------------------------------------------------------------
21 .\" * set default formatting
22 .\" -----------------------------------------------------------------
23 .\" disable hyphenation
24 .nh
25 .\" disable justification (adjust text to left margin only)
26 .ad l
27 .\" -----------------------------------------------------------------
28 .\" * MAIN CONTENT STARTS HERE *
29 .\" -----------------------------------------------------------------
30 .SH "NAME"
31 git-upload-archive \- Send archive back to git\-archive
32 .SH "SYNOPSIS"
33 .sp
34 .nf
35 \fIgit upload\-archive\fR <repository>
36 .fi
37 .sp
38 .SH "DESCRIPTION"
39 .sp
40 Invoked by \fIgit archive \-\-remote\fR and sends a generated archive to the other end over the Git protocol\&.
41 .sp
42 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\&.
43 .SH "SECURITY"
44 .sp
45 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:
46 .sp
47 .RS 4
48 .ie n \{\
49 \h'-04' 1.\h'+01'\c
50 .\}
51 .el \{\
52 .sp -1
53 .IP "  1." 4.2
54 .\}
55 Clients may request a commit or tree that is pointed to directly by a ref\&. E\&.g\&.,
56 \fBgit archive \-\-remote=origin v1\&.0\fR\&.
57 .RE
58 .sp
59 .RS 4
60 .ie n \{\
61 \h'-04' 2.\h'+01'\c
62 .\}
63 .el \{\
64 .sp -1
65 .IP "  2." 4.2
66 .\}
67 Clients may request a sub\-tree within a commit or tree using the
68 \fBref:path\fR
69 syntax\&. E\&.g\&.,
70 \fBgit archive \-\-remote=origin v1\&.0:Documentation\fR\&.
71 .RE
72 .sp
73 .RS 4
74 .ie n \{\
75 \h'-04' 3.\h'+01'\c
76 .\}
77 .el \{\
78 .sp -1
79 .IP "  3." 4.2
80 .\}
81 Clients may
82 \fInot\fR
83 use other sha1 expressions, even if the end result is reachable\&. E\&.g\&., neither a relative commit like
84 \fBmaster^\fR
85 nor a literal sha1 like
86 \fBabcd1234\fR
87 is allowed, even if the result is reachable from the refs\&.
88 .RE
89 .sp
90 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 .sp
92 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\&.
93 .SH "OPTIONS"
94 .PP
95 <repository>
96 .RS 4
97 The repository to get a tar archive from\&.
98 .RE
99 .SH "GIT"
101 Part of the \fBgit\fR(1) suite