Blame


1 20662ea0 2021-04-10 stsp .\"
2 20662ea0 2021-04-10 stsp .\" Copyright (c) 2021 Stefan Sperling
3 20662ea0 2021-04-10 stsp .\"
4 20662ea0 2021-04-10 stsp .\" Permission to use, copy, modify, and distribute this software for any
5 20662ea0 2021-04-10 stsp .\" purpose with or without fee is hereby granted, provided that the above
6 20662ea0 2021-04-10 stsp .\" copyright notice and this permission notice appear in all copies.
7 20662ea0 2021-04-10 stsp .\"
8 20662ea0 2021-04-10 stsp .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 20662ea0 2021-04-10 stsp .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 20662ea0 2021-04-10 stsp .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 20662ea0 2021-04-10 stsp .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 20662ea0 2021-04-10 stsp .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 20662ea0 2021-04-10 stsp .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 20662ea0 2021-04-10 stsp .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 20662ea0 2021-04-10 stsp .\"
16 20662ea0 2021-04-10 stsp .Dd $Mdocdate$
17 20662ea0 2021-04-10 stsp .Dt GOTADMIN 1
18 20662ea0 2021-04-10 stsp .Os
19 20662ea0 2021-04-10 stsp .Sh NAME
20 20662ea0 2021-04-10 stsp .Nm gotadmin
21 20662ea0 2021-04-10 stsp .Nd Game of Trees repository administration
22 20662ea0 2021-04-10 stsp .Sh SYNOPSIS
23 20662ea0 2021-04-10 stsp .Nm
24 0a58e722 2022-10-04 thomas .Op Fl hV
25 20662ea0 2021-04-10 stsp .Ar command
26 20662ea0 2021-04-10 stsp .Op Ar arg ...
27 20662ea0 2021-04-10 stsp .Sh DESCRIPTION
28 20662ea0 2021-04-10 stsp .Nm
29 20662ea0 2021-04-10 stsp is the repository maintenance tool for the
30 20662ea0 2021-04-10 stsp .Xr got 1
31 20662ea0 2021-04-10 stsp version control system.
32 20662ea0 2021-04-10 stsp .Pp
33 20662ea0 2021-04-10 stsp .Xr got 1
34 20662ea0 2021-04-10 stsp stores the history of tracked files in a Git repository, as used
35 20662ea0 2021-04-10 stsp by the Git version control system.
36 20662ea0 2021-04-10 stsp .Nm
37 20662ea0 2021-04-10 stsp provides commands for inspecting and manipulating the on-disk state of
38 20662ea0 2021-04-10 stsp Git repositories.
39 20662ea0 2021-04-10 stsp The repository format is described in
40 20662ea0 2021-04-10 stsp .Xr git-repository 5 .
41 20662ea0 2021-04-10 stsp .Pp
42 20662ea0 2021-04-10 stsp .Nm
43 20662ea0 2021-04-10 stsp provides global and command-specific options.
44 20662ea0 2021-04-10 stsp Global options must precede the command name, and are as follows:
45 20662ea0 2021-04-10 stsp .Bl -tag -width tenletters
46 20662ea0 2021-04-10 stsp .It Fl h
47 20662ea0 2021-04-10 stsp Display usage information and exit immediately.
48 20662ea0 2021-04-10 stsp .It Fl V , -version
49 20662ea0 2021-04-10 stsp Display program version and exit immediately.
50 20662ea0 2021-04-10 stsp .El
51 20662ea0 2021-04-10 stsp .Pp
52 20662ea0 2021-04-10 stsp The commands for
53 20662ea0 2021-04-10 stsp .Nm
54 20662ea0 2021-04-10 stsp are as follows:
55 20662ea0 2021-04-10 stsp .Bl -tag -width checkout
56 e9424ba1 2022-09-20 thomas .It Cm init Oo Fl b Ar branch Oc Ar repository-path
57 27b10c3c 2022-07-04 thomas Create a new empty repository at the specified
58 27b10c3c 2022-07-04 thomas .Ar repository-path .
59 27b10c3c 2022-07-04 thomas .Pp
60 27b10c3c 2022-07-04 thomas After
61 27b10c3c 2022-07-04 thomas .Cm gotadmin init ,
62 27b10c3c 2022-07-04 thomas the
63 27b10c3c 2022-07-04 thomas .Cm got import
64 27b10c3c 2022-07-04 thomas command must be used to populate the empty repository before
65 27b10c3c 2022-07-04 thomas .Cm got checkout
66 27b10c3c 2022-07-04 thomas can be used.
67 e9424ba1 2022-09-20 thomas .Pp
68 e9424ba1 2022-09-20 thomas The options for
69 e9424ba1 2022-09-20 thomas .Cm gotadmin init
70 e9424ba1 2022-09-20 thomas are as follows:
71 e9424ba1 2022-09-20 thomas .Bl -tag -width Ds
72 e9424ba1 2022-09-20 thomas .It Fl b Ar branch
73 e9424ba1 2022-09-20 thomas Make the repository's HEAD reference point to the specified
74 e9424ba1 2022-09-20 thomas .Ar branch
75 e9424ba1 2022-09-20 thomas instead of the default branch
76 e9424ba1 2022-09-20 thomas .Dq main .
77 e9424ba1 2022-09-20 thomas .El
78 56c96eff 2022-08-30 thomas .It Cm info Op Fl r Ar repository-path
79 20662ea0 2021-04-10 stsp Display information about a repository.
80 20662ea0 2021-04-10 stsp This includes some configuration settings from
81 20662ea0 2021-04-10 stsp .Xr got.conf 5 ,
82 20662ea0 2021-04-10 stsp and the number of objects stored in the repository, in packed or
83 20662ea0 2021-04-10 stsp loose form, as well as the current on-disk size of these objects.
84 20662ea0 2021-04-10 stsp .Pp
85 20662ea0 2021-04-10 stsp The options for
86 20662ea0 2021-04-10 stsp .Cm gotadmin info
87 20662ea0 2021-04-10 stsp are as follows:
88 20662ea0 2021-04-10 stsp .Bl -tag -width Ds
89 20662ea0 2021-04-10 stsp .It Fl r Ar repository-path
90 20662ea0 2021-04-10 stsp Use the repository at the specified path.
91 20662ea0 2021-04-10 stsp If not specified, assume the repository is located at or above the current
92 20662ea0 2021-04-10 stsp working directory.
93 1ea7ccc6 2021-11-15 thomas If this directory is a
94 1ea7ccc6 2021-11-15 thomas .Xr got 1
95 1ea7ccc6 2021-11-15 thomas work tree, use the repository path associated with this work tree.
96 20662ea0 2021-04-10 stsp .El
97 56c96eff 2022-08-30 thomas .It Xo
98 56c96eff 2022-08-30 thomas .Cm pack
99 d8253374 2023-02-17 thomas .Op Fl aDq
100 56c96eff 2022-08-30 thomas .Op Fl r Ar repository-path
101 56c96eff 2022-08-30 thomas .Op Fl x Ar reference
102 56c96eff 2022-08-30 thomas .Op Ar reference ...
103 56c96eff 2022-08-30 thomas .Xc
104 05118f5a 2021-06-22 stsp Generate a new pack file and a corresponding pack file index.
105 05118f5a 2021-06-22 stsp By default, add any loose objects which are reachable via any references
106 05118f5a 2021-06-22 stsp to the generated pack file.
107 05118f5a 2021-06-22 stsp .Pp
108 05118f5a 2021-06-22 stsp If one or more
109 05118f5a 2021-06-22 stsp .Ar reference
110 05118f5a 2021-06-22 stsp arguments is specified, only add objects which are reachable via the specified
111 05118f5a 2021-06-22 stsp references.
112 05118f5a 2021-06-22 stsp Each
113 05118f5a 2021-06-22 stsp .Ar reference
114 05118f5a 2021-06-22 stsp argument may either specify a specific reference or a reference namespace,
115 05118f5a 2021-06-22 stsp in which case all references within this namespace will be used.
116 05118f5a 2021-06-22 stsp .Pp
117 05118f5a 2021-06-22 stsp .Cm gotadmin pack
118 05118f5a 2021-06-22 stsp always ignores references in the
119 05118f5a 2021-06-22 stsp .Pa refs/got/
120 05118f5a 2021-06-22 stsp namespace, effectively treating such references as if they did not refer
121 05118f5a 2021-06-22 stsp to any objects.
122 05118f5a 2021-06-22 stsp .Pp
123 05118f5a 2021-06-22 stsp The options for
124 05118f5a 2021-06-22 stsp .Cm gotadmin pack
125 05118f5a 2021-06-22 stsp are as follows:
126 05118f5a 2021-06-22 stsp .Bl -tag -width Ds
127 05118f5a 2021-06-22 stsp .It Fl a
128 05118f5a 2021-06-22 stsp Add objects to the generated pack file even if they are already packed
129 05118f5a 2021-06-22 stsp in a different pack file.
130 05118f5a 2021-06-22 stsp Unless this option is specified, only loose objects will be added.
131 d8253374 2023-02-17 thomas .It Fl D
132 d8253374 2023-02-17 thomas Force the use of ref-delta representation for deltified objects.
133 d8253374 2023-02-17 thomas If this option is not specified, offset-deltas will be used to represent
134 d8253374 2023-02-17 thomas deltified objects.
135 d6506a3d 2022-08-16 thomas .It Fl q
136 d6506a3d 2022-08-16 thomas Suppress progress reporting output.
137 05118f5a 2021-06-22 stsp .It Fl r Ar repository-path
138 05118f5a 2021-06-22 stsp Use the repository at the specified path.
139 05118f5a 2021-06-22 stsp If not specified, assume the repository is located at or above the current
140 05118f5a 2021-06-22 stsp working directory.
141 1ea7ccc6 2021-11-15 thomas If this directory is a
142 1ea7ccc6 2021-11-15 thomas .Xr got 1
143 1ea7ccc6 2021-11-15 thomas work tree, use the repository path associated with this work tree.
144 05118f5a 2021-06-22 stsp .It Fl x Ar reference
145 05118f5a 2021-06-22 stsp Exclude objects reachable via the specified
146 05118f5a 2021-06-22 stsp .Ar reference
147 05118f5a 2021-06-22 stsp from the pack file.
148 05118f5a 2021-06-22 stsp The
149 05118f5a 2021-06-22 stsp .Ar reference
150 05118f5a 2021-06-22 stsp argument may either specify a specific reference or a reference namespace,
151 05118f5a 2021-06-22 stsp in which case all references within this namespace will be excluded.
152 05118f5a 2021-06-22 stsp The
153 05118f5a 2021-06-22 stsp .Fl x
154 05118f5a 2021-06-22 stsp option may be specified multiple times to build a list of references to exclude.
155 05118f5a 2021-06-22 stsp .Pp
156 05118f5a 2021-06-22 stsp Exclusion takes precedence over inclusion.
157 05118f5a 2021-06-22 stsp If a reference appears in both the included and excluded lists, it will
158 05118f5a 2021-06-22 stsp be excluded.
159 20662ea0 2021-04-10 stsp .El
160 5b5b660d 2021-10-08 thomas .Tg ix
161 05118f5a 2021-06-22 stsp .It Cm indexpack Ar packfile-path
162 d912d125 2021-11-04 thomas .Dl Pq alias: Cm ix
163 05118f5a 2021-06-22 stsp Create a pack index for the pack file at
164 05118f5a 2021-06-22 stsp .Ar packfile-path .
165 05118f5a 2021-06-22 stsp .Pp
166 05118f5a 2021-06-22 stsp A pack index is required for using the corresponding pack file with
167 05118f5a 2021-06-22 stsp .Xr got 1 .
168 05118f5a 2021-06-22 stsp Usually, a pack index will be created by commands such as
169 05118f5a 2021-06-22 stsp .Cm gotadmin pack
170 05118f5a 2021-06-22 stsp or
171 05118f5a 2021-06-22 stsp .Cm got fetch
172 05118f5a 2021-06-22 stsp as part of regular operation.
173 05118f5a 2021-06-22 stsp The
174 05118f5a 2021-06-22 stsp .Cm gotadmin indexpack
175 05118f5a 2021-06-22 stsp command may be used to recover from a corrupt or missing index.
176 05118f5a 2021-06-22 stsp A given pack file will always yield the same bit-identical index.
177 05118f5a 2021-06-22 stsp .Pp
178 05118f5a 2021-06-22 stsp The provided
179 05118f5a 2021-06-22 stsp .Ar packfile-path
180 05118f5a 2021-06-22 stsp must be located within the
181 05118f5a 2021-06-22 stsp .Pa objects/pack/
182 05118f5a 2021-06-22 stsp directory of the repository and should end in
183 05118f5a 2021-06-22 stsp .Pa .pack .
184 05118f5a 2021-06-22 stsp The filename of the corresponding pack index is equivalent, except
185 05118f5a 2021-06-22 stsp that it ends in
186 05118f5a 2021-06-22 stsp .Pa .idx .
187 5b5b660d 2021-10-08 thomas .Tg ls
188 56c96eff 2022-08-30 thomas .It Xo
189 56c96eff 2022-08-30 thomas .Cm listpack
190 56c96eff 2022-08-30 thomas .Op Fl hs
191 56c96eff 2022-08-30 thomas .Ar packfile-path
192 56c96eff 2022-08-30 thomas .Xc
193 d912d125 2021-11-04 thomas .Dl Pq alias: Cm ls
194 05118f5a 2021-06-22 stsp List the contents of the pack file at
195 05118f5a 2021-06-22 stsp .Ar packfile-path .
196 05118f5a 2021-06-22 stsp .Pp
197 05118f5a 2021-06-22 stsp Each object contained in the pack file will be displayed on a single line.
198 05118f5a 2021-06-22 stsp The information shown includes the object ID, object type, object offset,
199 05118f5a 2021-06-22 stsp and object size.
200 05118f5a 2021-06-22 stsp .Pp
201 4b06140e 2022-03-22 thomas If a packed object is deltified against another object, the delta base
202 05118f5a 2021-06-22 stsp will be shown as well.
203 05118f5a 2021-06-22 stsp For offset deltas, the delta base is identified via an offset into the
204 05118f5a 2021-06-22 stsp pack file.
205 05118f5a 2021-06-22 stsp For reference deltas, the delta base is identified via an object ID.
206 05118f5a 2021-06-22 stsp .Pp
207 05118f5a 2021-06-22 stsp The provided
208 05118f5a 2021-06-22 stsp .Ar packfile-path
209 05118f5a 2021-06-22 stsp must be located within the
210 05118f5a 2021-06-22 stsp .Pa objects/pack/
211 05118f5a 2021-06-22 stsp directory of the repository and should end in
212 05118f5a 2021-06-22 stsp .Pa .pack .
213 d3830477 2022-03-11 thomas The corresponding pack index must exist and can be created with
214 d3830477 2022-03-11 thomas .Cm gotadmin indexpack
215 d3830477 2022-03-11 thomas if it is missing.
216 05118f5a 2021-06-22 stsp .Pp
217 05118f5a 2021-06-22 stsp The options for
218 05118f5a 2021-06-22 stsp .Cm gotadmin listpack
219 05118f5a 2021-06-22 stsp are as follows:
220 05118f5a 2021-06-22 stsp .Bl -tag -width Ds
221 05118f5a 2021-06-22 stsp .It Fl h
222 05118f5a 2021-06-22 stsp Show object sizes in human-readable form.
223 05118f5a 2021-06-22 stsp .It Fl s
224 1fe43c07 2021-10-08 thomas Display statistics about the pack file after listing objects.
225 05118f5a 2021-06-22 stsp This includes the total number of objects stored in the pack file
226 05118f5a 2021-06-22 stsp and a break-down of the number of objects per object type.
227 05118f5a 2021-06-22 stsp .El
228 5b5b660d 2021-10-08 thomas .Tg cl
229 56c96eff 2022-08-30 thomas .It Xo
230 56c96eff 2022-08-30 thomas .Cm cleanup
231 56c96eff 2022-08-30 thomas .Op Fl anpq
232 56c96eff 2022-08-30 thomas .Op Fl r Ar repository-path
233 56c96eff 2022-08-30 thomas .Xc
234 d912d125 2021-11-04 thomas .Dl Pq alias: Cm cl
235 afd0da38 2023-06-22 thomas Purge unreferenced loose objects and redundant pack files from the
236 afd0da38 2023-06-22 thomas repository and display the amount of disk space which has been freed
237 afd0da38 2023-06-22 thomas as a result.
238 b3d68e7f 2021-07-03 stsp .Pp
239 b3d68e7f 2021-07-03 stsp Unreferenced objects are present in the repository but cannot be
240 b3d68e7f 2021-07-03 stsp reached via any reference in the entire
241 b3d68e7f 2021-07-03 stsp .Pa refs/
242 b3d68e7f 2021-07-03 stsp namespace.
243 520f13aa 2023-06-22 thomas Objects will usually become unreferenced as a result of deleting
244 39ea9268 2023-06-22 thomas branches, tags, or other references with
245 39ea9268 2023-06-22 thomas .Cm got branch -d ,
246 39ea9268 2023-06-22 thomas .Cm got ref -d ,
247 520f13aa 2023-06-22 thomas or
248 39ea9268 2023-06-22 thomas .Cm got fetch -X .
249 b3d68e7f 2021-07-03 stsp .Pp
250 b3d68e7f 2021-07-03 stsp Loose objects are stored as individual files beneath the repository's
251 b3d68e7f 2021-07-03 stsp .Pa objects/
252 b3d68e7f 2021-07-03 stsp directory,
253 b3d68e7f 2021-07-03 stsp spread across 256 sub-directories named after the 256 possible
254 b3d68e7f 2021-07-03 stsp hexadecimal values of the first byte of an object identifier.
255 b3d68e7f 2021-07-03 stsp .Pp
256 afd0da38 2023-06-22 thomas Packed objects are stored in pack files under
257 afd0da38 2023-06-22 thomas .Pa objects/pack/ .
258 afd0da38 2023-06-22 thomas .Pp
259 afd0da38 2023-06-22 thomas If redundant copies of packed objects exist in loose form, such
260 afd0da38 2023-06-22 thomas redundant copies will be purged.
261 afd0da38 2023-06-22 thomas If all the objects of a pack file are present in other pack files,
262 afd0da38 2023-06-22 thomas the redundant pack file will be purged.
263 afd0da38 2023-06-22 thomas Pack files will usually become redundant as a result of repacking the
264 afd0da38 2023-06-22 thomas repository with
265 afd0da38 2023-06-22 thomas .Nm
266 afd0da38 2023-06-22 thomas .Cm pack Fl a .
267 afd0da38 2023-06-22 thomas .Pp
268 b3d68e7f 2021-07-03 stsp References in the
269 b3d68e7f 2021-07-03 stsp .Pa refs/got
270 b3d68e7f 2021-07-03 stsp namespace may prevent objects from being purged.
271 b3d68e7f 2021-07-03 stsp This includes references in the
272 b3d68e7f 2021-07-03 stsp .Pa refs/got/worktree
273 b3d68e7f 2021-07-03 stsp namespace created by
274 b3d68e7f 2021-07-03 stsp .Cm got checkout
275 b3d68e7f 2021-07-03 stsp and
276 b3d68e7f 2021-07-03 stsp .Cm got update ,
277 b3d68e7f 2021-07-03 stsp as well as references in the
278 b3d68e7f 2021-07-03 stsp .Pa refs/got/backup
279 b3d68e7f 2021-07-03 stsp namespace created by
280 b3d68e7f 2021-07-03 stsp .Cm got rebase
281 b3d68e7f 2021-07-03 stsp and
282 b3d68e7f 2021-07-03 stsp .Cm got histedit .
283 b3d68e7f 2021-07-03 stsp .Cm gotadmin cleanup
284 b3d68e7f 2021-07-03 stsp will only purge corresponding objects once such references have been
285 b3d68e7f 2021-07-03 stsp deleted with
286 0a41a152 2023-06-22 thomas .Cm got rebase -X ,
287 0a41a152 2023-06-22 thomas .Cm got histedit -X ,
288 0a41a152 2023-06-22 thomas or
289 b3d68e7f 2021-07-03 stsp .Cm got ref -d .
290 9188bd78 2021-07-03 stsp .Pp
291 520f13aa 2023-06-22 thomas The
292 520f13aa 2023-06-22 thomas .Dq preciousObjects
293 520f13aa 2023-06-22 thomas Git extension is intended to prevent the removal of objects from a repository.
294 520f13aa 2023-06-22 thomas .Cm gotadmin cleanup
295 520f13aa 2023-06-22 thomas will refuse to operate on repositories where this extension is active.
296 520f13aa 2023-06-22 thomas .Pp
297 520f13aa 2023-06-22 thomas For compatibility with Git, if a file with the extension
298 520f13aa 2023-06-22 thomas .Pa .keep
299 520f13aa 2023-06-22 thomas exists and corresponds to a pack file with the extension
300 520f13aa 2023-06-22 thomas .Pa .pack
301 520f13aa 2023-06-22 thomas then this pack file will not be removed.
302 520f13aa 2023-06-22 thomas .Pp
303 1124fe40 2021-07-07 stsp Some Git repositories contain pack index files which lack a corresponding
304 1124fe40 2021-07-07 stsp pack file, which is an inconsistent repository state.
305 1124fe40 2021-07-07 stsp In such cases,
306 1124fe40 2021-07-07 stsp .Cm gotadmin cleanup -p -n
307 1124fe40 2021-07-07 stsp will display a list of affected pack index files.
308 4b06140e 2022-03-22 thomas Whenever possible, the missing pack files should be restored.
309 4b06140e 2022-03-22 thomas If restoring missing pack files is not possible, then affected pack index
310 1124fe40 2021-07-07 stsp files can be removed with
311 1124fe40 2021-07-07 stsp .Cm gotadmin cleanup -p .
312 1124fe40 2021-07-07 stsp .Pp
313 b3d68e7f 2021-07-03 stsp The options for
314 d4445ca5 2021-07-03 stsp .Cm gotadmin cleanup
315 b3d68e7f 2021-07-03 stsp are as follows:
316 b3d68e7f 2021-07-03 stsp .Bl -tag -width Ds
317 ef8ec606 2021-07-27 stsp .It Fl a
318 bc92b8ce 2023-10-21 thomas Delete all redundant loose and packed objects.
319 ef8ec606 2021-07-27 stsp By default, objects which are newer than an implementation-defined
320 ef8ec606 2021-07-27 stsp modification timestamp are kept on disk to prevent race conditions
321 ef8ec606 2021-07-27 stsp with other commands that add new objects to the repository while
322 ef8ec606 2021-07-27 stsp .Cm gotadmin cleanup
323 ef8ec606 2021-07-27 stsp is running.
324 b3d68e7f 2021-07-03 stsp .It Fl n
325 b3d68e7f 2021-07-03 stsp Display the usual progress output and summary information but do not actually
326 1124fe40 2021-07-07 stsp remove any files from disk.
327 d6506a3d 2022-08-16 thomas .It Fl p
328 ddaab153 2023-06-22 thomas Instead of purging unreferenced loose objects and redundant pack files,
329 ddaab153 2023-06-22 thomas remove any pack index files which do not have a corresponding pack file.
330 d6506a3d 2022-08-16 thomas .It Fl q
331 d6506a3d 2022-08-16 thomas Suppress progress reporting and disk space summary output.
332 fdbea373 2023-07-10 thomas .It Fl r Ar repository-path
333 fdbea373 2023-07-10 thomas Use the repository at the specified path.
334 fdbea373 2023-07-10 thomas If not specified, assume the repository is located at or above the current
335 fdbea373 2023-07-10 thomas working directory.
336 fdbea373 2023-07-10 thomas If this directory is a
337 fdbea373 2023-07-10 thomas .Xr got 1
338 fdbea373 2023-07-10 thomas work tree, use the repository path associated with this work tree.
339 fdbea373 2023-07-10 thomas .El
340 fdbea373 2023-07-10 thomas .It Xo
341 fdbea373 2023-07-10 thomas .Cm dump
342 fdbea373 2023-07-10 thomas .Op Fl q
343 fdbea373 2023-07-10 thomas .Op Fl r Ar repository-path
344 fdbea373 2023-07-10 thomas .Op Fl x Ar reference
345 fdbea373 2023-07-10 thomas .Op Ar reference ...
346 fdbea373 2023-07-10 thomas .Xc
347 8d6abbb2 2023-07-10 thomas Dump the contents of the repository to standard output in Git bundle format.
348 fdbea373 2023-07-10 thomas .Pp
349 fdbea373 2023-07-10 thomas If one or more
350 fdbea373 2023-07-10 thomas .Ar reference
351 fdbea373 2023-07-10 thomas arguments is specified, only add objects which are reachable via the specified
352 fdbea373 2023-07-10 thomas references.
353 fdbea373 2023-07-10 thomas Each
354 fdbea373 2023-07-10 thomas .Ar reference
355 fdbea373 2023-07-10 thomas argument may either specify a specific reference or a reference namespace,
356 fdbea373 2023-07-10 thomas in which case all references within this namespace will be used.
357 fdbea373 2023-07-10 thomas .Pp
358 fdbea373 2023-07-10 thomas The options for
359 fdbea373 2023-07-10 thomas .Nm
360 fdbea373 2023-07-10 thomas .Cm dump
361 fdbea373 2023-07-10 thomas are as follows:
362 fdbea373 2023-07-10 thomas .Bl -tag -width Ds
363 fdbea373 2023-07-10 thomas .It Fl q
364 fdbea373 2023-07-10 thomas Suppress progress reporting output.
365 b3d68e7f 2021-07-03 stsp .It Fl r Ar repository-path
366 b3d68e7f 2021-07-03 stsp Use the repository at the specified path.
367 b3d68e7f 2021-07-03 stsp If not specified, assume the repository is located at or above the current
368 b3d68e7f 2021-07-03 stsp working directory.
369 1ea7ccc6 2021-11-15 thomas If this directory is a
370 1ea7ccc6 2021-11-15 thomas .Xr got 1
371 1ea7ccc6 2021-11-15 thomas work tree, use the repository path associated with this work tree.
372 fdbea373 2023-07-10 thomas .It Fl x Ar reference
373 fdbea373 2023-07-10 thomas Exclude objects reachable via the specified
374 fdbea373 2023-07-10 thomas .Ar reference
375 8d6abbb2 2023-07-10 thomas from the bundle.
376 fdbea373 2023-07-10 thomas The
377 fdbea373 2023-07-10 thomas .Ar reference
378 fdbea373 2023-07-10 thomas argument may either specify a specific reference or a reference namespace,
379 fdbea373 2023-07-10 thomas in which case all references within this namespace will be excluded.
380 fdbea373 2023-07-10 thomas The
381 fdbea373 2023-07-10 thomas .Fl x
382 fdbea373 2023-07-10 thomas option may be specified multiple times to build a list of references to exclude.
383 fdbea373 2023-07-10 thomas .Pp
384 fdbea373 2023-07-10 thomas Exclusion takes precedence over inclusion.
385 fdbea373 2023-07-10 thomas If a reference appears in both the included and excluded lists, it will
386 fdbea373 2023-07-10 thomas be excluded.
387 90afc9f3 2023-07-10 thomas .El
388 90afc9f3 2023-07-10 thomas .It Xo
389 90afc9f3 2023-07-10 thomas .Cm load
390 cfbfa60c 2023-07-11 thomas .Op Fl nq
391 cfbfa60c 2023-07-11 thomas .Op Fl l Ar bundle-path
392 90afc9f3 2023-07-10 thomas .Op Fl r Ar repository-path
393 cfbfa60c 2023-07-11 thomas .Op Ar reference ...
394 90afc9f3 2023-07-10 thomas .Xc
395 cfbfa60c 2023-07-11 thomas Read a Git bundle stream from standard input and load its data into
396 cfbfa60c 2023-07-11 thomas a repository.
397 90afc9f3 2023-07-10 thomas .Pp
398 cfbfa60c 2023-07-11 thomas If one or more
399 cfbfa60c 2023-07-11 thomas .Ar reference
400 cfbfa60c 2023-07-11 thomas arguments are provided then only load the specified references
401 cfbfa60c 2023-07-11 thomas from the bundle.
402 cfbfa60c 2023-07-11 thomas Otherwise, all references will be loaded.
403 cfbfa60c 2023-07-11 thomas .Pp
404 90afc9f3 2023-07-10 thomas The options for
405 c4515df2 2023-07-10 thomas .Cm gotadmin load
406 90afc9f3 2023-07-10 thomas are as follows:
407 90afc9f3 2023-07-10 thomas .Bl -tag -width Ds
408 cfbfa60c 2023-07-11 thomas .It Fl l Ar bundle-path
409 cfbfa60c 2023-07-11 thomas List references available for loading from the bundle at the specified
410 cfbfa60c 2023-07-11 thomas .Ar bundle-path
411 cfbfa60c 2023-07-11 thomas and exit immediately.
412 cfbfa60c 2023-07-11 thomas If the
413 cfbfa60c 2023-07-11 thomas .Fl l
414 cfbfa60c 2023-07-11 thomas option is specified then no
415 90afc9f3 2023-07-10 thomas .Ar reference
416 cfbfa60c 2023-07-11 thomas arguments are allowed.
417 cfbfa60c 2023-07-11 thomas The
418 cfbfa60c 2023-07-11 thomas .Fl l
419 cfbfa60c 2023-07-11 thomas option is incompatible with the
420 cfbfa60c 2023-07-11 thomas .Fl n
421 cfbfa60c 2023-07-11 thomas option.
422 90afc9f3 2023-07-10 thomas .It Fl n
423 8d6abbb2 2023-07-10 thomas Attempt to load the bundle but don't install new packfile or update any
424 90afc9f3 2023-07-10 thomas reference.
425 8d6abbb2 2023-07-10 thomas Can be used to verify the integrity of the bundle.
426 90afc9f3 2023-07-10 thomas .It Fl q
427 90afc9f3 2023-07-10 thomas Suppress progress reporting output.
428 90afc9f3 2023-07-10 thomas .It Fl r Ar repository-path
429 90afc9f3 2023-07-10 thomas Use the repository at the specified path.
430 90afc9f3 2023-07-10 thomas If not specified, assume the repository is located at or above the
431 90afc9f3 2023-07-10 thomas current working directory.
432 90afc9f3 2023-07-10 thomas If this directory is a
433 90afc9f3 2023-07-10 thomas .Xr got 1
434 90afc9f3 2023-07-10 thomas work tree, use the repository path associated with this work tree.
435 05118f5a 2021-06-22 stsp .El
436 b3d68e7f 2021-07-03 stsp .El
437 20662ea0 2021-04-10 stsp .Sh EXIT STATUS
438 20662ea0 2021-04-10 stsp .Ex -std gotadmin
439 20662ea0 2021-04-10 stsp .Sh SEE ALSO
440 20662ea0 2021-04-10 stsp .Xr got 1 ,
441 20662ea0 2021-04-10 stsp .Xr tog 1 ,
442 20662ea0 2021-04-10 stsp .Xr git-repository 5 ,
443 20662ea0 2021-04-10 stsp .Xr got.conf 5
444 20662ea0 2021-04-10 stsp .Sh AUTHORS
445 60c73080 2022-07-05 thomas .An Christian Weisgerber Aq Mt naddy@openbsd.org
446 60c73080 2022-07-05 thomas .An Josh Rickmar Aq Mt jrick@zettaport.com
447 60c73080 2022-07-05 thomas .An Klemens Nanni Aq Mt kn@openbsd.org
448 57048aa5 2023-06-22 thomas .An Omar Polo Aq Mt op@openbsd.org
449 05118f5a 2021-06-22 stsp .An Ori Bernstein Aq Mt ori@openbsd.org
450 60c73080 2022-07-05 thomas .An Stefan Sperling Aq Mt stsp@openbsd.org
451 60c73080 2022-07-05 thomas .An Tracey Emery Aq Mt tracey@traceyemery.net
452 7e36bc2b 2021-06-25 stsp .Sh CAVEATS
453 7e36bc2b 2021-06-25 stsp .Nm
454 7e36bc2b 2021-06-25 stsp is a work-in-progress and some features remain to be implemented.
455 7e36bc2b 2021-06-25 stsp .Pp
456 7e36bc2b 2021-06-25 stsp At present, the user has to fall back on
457 7e36bc2b 2021-06-25 stsp .Xr git 1
458 7e36bc2b 2021-06-25 stsp to perform some tasks.
459 7e36bc2b 2021-06-25 stsp In particular:
460 7e36bc2b 2021-06-25 stsp .Bl -bullet
461 7e36bc2b 2021-06-25 stsp .It
462 7e36bc2b 2021-06-25 stsp Exporting data from repositories requires
463 7e36bc2b 2021-06-25 stsp .Xr git-fast-export 1 .
464 7e36bc2b 2021-06-25 stsp .It
465 7e36bc2b 2021-06-25 stsp Importing data into repositories requires
466 7e36bc2b 2021-06-25 stsp .Xr git-fast-import 1 .
467 7e36bc2b 2021-06-25 stsp .El
468 aaf7c342 2021-07-03 stsp .Sh BUGS
469 aaf7c342 2021-07-03 stsp Disk space savings reported by
470 aaf7c342 2021-07-03 stsp .Cm gotadmin cleanup
471 aaf7c342 2021-07-03 stsp will be misleading if the repository contains object files that were
472 aaf7c342 2021-07-03 stsp hard-linked from another repository.
473 aaf7c342 2021-07-03 stsp Such hard-links will be created by certain
474 aaf7c342 2021-07-03 stsp .Xr git 1
475 aaf7c342 2021-07-03 stsp commands.
476 aaf7c342 2021-07-03 stsp By itself,
477 aaf7c342 2021-07-03 stsp .Xr got 1
478 aaf7c342 2021-07-03 stsp will never create hard-linked object files.