Merge pull request #1117 from frazar/improve-readme
[aurutils.git] / man1 / aur-fetch.1
blobe8e23abb2f0067238bdc1ad81d0ceeecd089652c
1 .TH AUR-FETCH 1 2022-08-04 AURUTILS
2 .SH NAME
3 aur\-fetch \- download packages from the AUR
5 .SH SYNOPSIS
6 .SY "aur fetch [-S] [-f] [--rebase] [--reset]"
7 .IR pkgbase " [" pkgbase... ]
8 .YS
10 .SH DESCRIPTION
11 .B aur\-fetch
12 downloads packages specified on the command-line from the AUR using
13 .BR git (1).
14 If the first argument is
15 .B \-
17 .BR /dev/stdin ,
18 packages are taken from standard input.
19 .PP
21 .BR git (1)
22 repositories are retrieved with
23 .BR git\-clone (1)
24 if they do not exist. Otherwise, the
25 .B origin
26 remote is updated with
27 .BR git\-fetch (1).
28 Changes can be merged with
29 .BR git\-merge " (" \-\-merge ),
30 .BR git\-rebase " (" \-\-rebase ),
32 .BR git\-reset " (" \-\-reset ).
33 .PP
34 .B Note:
35 AUR packages have
36 .B master
37 as the only remote branch, so changes are always merged
38 from
39 .BR origin/master .
40 Local changes may however live in different branches.
42 .SH OPTIONS
43 .TP
44 .BR \-\-sync=merge ", " \-\-merge
45 Run
46 .BR git\-fetch (1)
47 and merge upstream changes with
48 .BR git\-merge (1).
49 .IP
50 If no
51 .BR git\-merge (1)
52 options are specified,
53 only fast-forwards are allowed with
54 .BR "git\-merge \-\-ff\-only" .
55 When specified,
56 .B aur\-fetch
57 forwards the
58 .BR \-\-ff ,
59 .BR \-\-ff\-only ,
60 .BR \-\-no\-commit
61 and
62 .BR \-\-no\-ff
63 options to
64 .BR git\-merge .
65 .IP
66 .B Note:
67 When previewing changes with
68 .B \-\-no\-commit
69 it is advised to also use
70 .BR \-\-no\-ff ,
71 so that no commits are applied to the index even when a fast-forward is possible. See
72 .BR git\-merge (1)
73 for details.
75 .TP
76 .BR \-\-sync=rebase ", " \-\-rebase
77 Run
78 .BR git\-rebase (1)
79 instead of
80 .BR git\-merge (1),
81 re-applying local commits on top of upstream AUR commits. The
82 .B \-\-no\-ff
83 option is supported and forwarded to
84 .BR git\-merge
85 when specified.
86 .IP
87 .B Warning:
88 If a rebase does not apply cleanly, the user is expected to fix any
89 issues occurring in the git repository before continuing. A rebase may
90 also inadvertently keep malicious commits that Trusted Users have
91 removed from the git history. The
92 .B \-\-rebase
93 option should thus be used with care. See
94 .BR git\-rebase (1)
95 for details.
97 .TP
98 .BR \-\-sync=auto ", " \-\-auto
99 Run
100 .BR git\-rebase (1)
101 for a repository with
102 .B aurutils.rebase
103 set to
104 .B true
106 .BR git\-config (1),
108 .BR git\-merge (1)
109 otherwise.
112 .BR \-\-sync=reset ", " \-\-reset
113 Retrieve new revisions with
114 .B git\-fetch origin
116 .B git\-reset
117 to the
118 .B master@{upstream}
119 commit, removing any local commits.
122 .BR \-\-discard
123 When using
124 .BR \-\-sync=merge
126 .BR \-\-sync=rebase ,
127 uncommitted changes may cause the operation to fail. Furthermore,
128 .B git\-rebase
129 expects a clean work tree.
131 With
132 .BR \-\-sync=merge ,
134 .B \-\-discard
135 option checks if new upstream commits are available with
136 .BR git\-merge\-base .
137 If so, uncommited changes are discarded with
138 .BR git\-checkout .
140 With
141 .BR \-\-sync=rebase ,
143 .B \-\-discard
144 option runs
145 .BR git\-checkout
146 unconditionally.
149 .BR \-\-existing
150 Check if a git repositories exist in AUR using
151 .BR git\-ls-remote (1)
152 before retrieving or updating them.
155 .BR \-r ", " \-\-recurse
156 Download packages and their dependencies with
157 .BR aur\-depends (1).
158 If this option is specified, arguments must be supplied by
159 .B pkgname
160 instead of by
161 .BR pkgbase .
164 .BI \-\-results= FILE
165 Write colon-delimited output in the following form to
166 .IR FILE :
168 .I <action>:<head_from>:<head_to>:file://<path>
170 Possible values for
171 .I <action>
173 .BR clone ,
174 .BR merge ,
175 .BR rebase ,
177 .BR fetch .
178 Can be used by higher level tools to differentiate new clones from
179 updates to existing repositories.
182 .I action
183 is set to
184 .BR clone ,
185 .I <head_from>
186 is set to
187 .BR 4b825dc642cb6eb9a060e54bf8d69288fbee4904 ,
189 .BR git (1)
190 empty tree object.
191 .I <path>
192 is the absolute path to the corresponding git repository.
194 .B Note:
195 When using
196 .B \-\-no\-commit \-\-no\-ff
198 .BR git\-merge(1) ,
199 .I <head_from>
201 .I <head_to>
202 will be identical.
204 .SH ENVIRONMENT
206 .B AUR_LOCATION
207 URI where repositories are cloned from. Defaults to
208 .MT https://aur.archlinux.org .
209 .ME .
212 .B AUR_MIRROR
213 URI to an AUR mirror, a
214 .BR git (1)
215 repository where each package is contained in a
216 .BR git\-branch (1).
217 Defaults to
218 .MT https://github.com/archlinux/aur
219 .ME .
222 .B AUR_MIRROR_TTL
223 When updating an AUR mirror, a list of all branches is retrieved with
224 .BR git\-ls\-remote
225 to validate arguments. The
226 .B AUR_MIRROR_TTL
227 variable defines (in seconds) how often this command is run. For accurate
228 results, this should roughly equal the synchronization interval between AUR and
229 its mirrors. Defaults to
230 .IR 300 .
233 .B AUR_MIRROR_BRANCH
234 The default branch of an AUR mirror. Defaults to
235 .BR main .
238 .B AUR_FETCH_USE_MIRROR
239 If this variable is set to a positive value, clone repositories from an AUR
240 mirror instead of
241 .BR AUR_LOCATION .
242 Upstream changes are merged from
243 .I origin/<package>
244 instead of
245 .IR origin/master .
247 Remotes of existing
248 .BR git (1)
249 repositories are preserved. When enabling or disabling
250 .BR AUR_FETCH_MIRROR ,
251 repositories should be converted manually with
252 .B git\-remote set\-url
254 .BR "git\-remote set\-branches origin" .
257 .B AUR_ROOT
258 Directory where an AUR mirror is cloned to. Defaults to
259 .IR XDG_CACHE_HOME/aur .
261 .SH SEE ALSO
262 .ad l
264 .BR aur (1),
265 .BR aur\-depends (1),
266 .BR git (1),
267 .BR git\-clone (1),
268 .BR git\-config (1),
269 .BR git\-fetch (1),
270 .BR git\-merge (1),
271 .BR git\-pull (1),
272 .BR git\-rebase (1),
273 .BR git\-reset (1),
274 .BR git\-rev\-parse (1)
276 .SH AUTHORS
277 .MT https://github.com/AladW
278 Alad Wenter
281 .\" vim: set textwidth=72: