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 6a0a1bd4 2022-10-04 op .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 6f04a73d 2022-09-20 mark .It Cm init Oo Fl b Ar branch Oc Ar repository-path
57 02a5c5d0 2022-07-04 stsp Create a new empty repository at the specified
58 02a5c5d0 2022-07-04 stsp .Ar repository-path .
59 02a5c5d0 2022-07-04 stsp .Pp
60 02a5c5d0 2022-07-04 stsp After
61 02a5c5d0 2022-07-04 stsp .Cm gotadmin init ,
62 433eb77d 2024-06-03 stsp the new repository must be populated before
63 02a5c5d0 2022-07-04 stsp .Cm got checkout
64 02a5c5d0 2022-07-04 stsp can be used.
65 433eb77d 2024-06-03 stsp The
66 433eb77d 2024-06-03 stsp .Cm got import
67 433eb77d 2024-06-03 stsp command can be used to populate the new repository with data from
68 433eb77d 2024-06-03 stsp a local directory.
69 433eb77d 2024-06-03 stsp Alternatively, on a server running
70 433eb77d 2024-06-03 stsp .Xr gotd 8 ,
71 433eb77d 2024-06-03 stsp the new repository can be made available to
72 433eb77d 2024-06-03 stsp .Xr got 1
73 433eb77d 2024-06-03 stsp or
74 433eb77d 2024-06-03 stsp .Xr git 1
75 433eb77d 2024-06-03 stsp clients by adding the repository to
76 433eb77d 2024-06-03 stsp .Xr gotd.conf 5
77 433eb77d 2024-06-03 stsp and restarting
78 433eb77d 2024-06-03 stsp .Xr gotd 8 .
79 433eb77d 2024-06-03 stsp Clients may then clone the new repository from the server, populate the cloned
80 433eb77d 2024-06-03 stsp repository, and then populate the new repository on the server via
81 433eb77d 2024-06-03 stsp .Cm got send
82 433eb77d 2024-06-03 stsp or
83 433eb77d 2024-06-03 stsp .Cm git push .
84 6f04a73d 2022-09-20 mark .Pp
85 6f04a73d 2022-09-20 mark The options for
86 6f04a73d 2022-09-20 mark .Cm gotadmin init
87 6f04a73d 2022-09-20 mark are as follows:
88 6f04a73d 2022-09-20 mark .Bl -tag -width Ds
89 6f04a73d 2022-09-20 mark .It Fl b Ar branch
90 6f04a73d 2022-09-20 mark Make the repository's HEAD reference point to the specified
91 6f04a73d 2022-09-20 mark .Ar branch
92 6f04a73d 2022-09-20 mark instead of the default branch
93 6f04a73d 2022-09-20 mark .Dq main .
94 6f04a73d 2022-09-20 mark .El
95 433eb77d 2024-06-03 stsp .Pp
96 433eb77d 2024-06-03 stsp The
97 433eb77d 2024-06-03 stsp .Cm gotadmin init
98 433eb77d 2024-06-03 stsp command is equivalent to
99 433eb77d 2024-06-03 stsp .Cm got init .
100 5fc4f020 2022-08-30 op .It Cm info Op Fl r Ar repository-path
101 20662ea0 2021-04-10 stsp Display information about a repository.
102 20662ea0 2021-04-10 stsp This includes some configuration settings from
103 20662ea0 2021-04-10 stsp .Xr got.conf 5 ,
104 20662ea0 2021-04-10 stsp and the number of objects stored in the repository, in packed or
105 20662ea0 2021-04-10 stsp loose form, as well as the current on-disk size of these objects.
106 20662ea0 2021-04-10 stsp .Pp
107 20662ea0 2021-04-10 stsp The options for
108 20662ea0 2021-04-10 stsp .Cm gotadmin info
109 20662ea0 2021-04-10 stsp are as follows:
110 20662ea0 2021-04-10 stsp .Bl -tag -width Ds
111 20662ea0 2021-04-10 stsp .It Fl r Ar repository-path
112 20662ea0 2021-04-10 stsp Use the repository at the specified path.
113 20662ea0 2021-04-10 stsp If not specified, assume the repository is located at or above the current
114 20662ea0 2021-04-10 stsp working directory.
115 7d69d862 2021-11-15 stsp If this directory is a
116 7d69d862 2021-11-15 stsp .Xr got 1
117 7d69d862 2021-11-15 stsp work tree, use the repository path associated with this work tree.
118 20662ea0 2021-04-10 stsp .El
119 5fc4f020 2022-08-30 op .It Xo
120 5fc4f020 2022-08-30 op .Cm pack
121 c7a4fcc8 2023-02-17 op .Op Fl aDq
122 5fc4f020 2022-08-30 op .Op Fl r Ar repository-path
123 5fc4f020 2022-08-30 op .Op Fl x Ar reference
124 5fc4f020 2022-08-30 op .Op Ar reference ...
125 5fc4f020 2022-08-30 op .Xc
126 05118f5a 2021-06-22 stsp Generate a new pack file and a corresponding pack file index.
127 05118f5a 2021-06-22 stsp By default, add any loose objects which are reachable via any references
128 05118f5a 2021-06-22 stsp to the generated pack file.
129 05118f5a 2021-06-22 stsp .Pp
130 05118f5a 2021-06-22 stsp If one or more
131 05118f5a 2021-06-22 stsp .Ar reference
132 05118f5a 2021-06-22 stsp arguments is specified, only add objects which are reachable via the specified
133 05118f5a 2021-06-22 stsp references.
134 05118f5a 2021-06-22 stsp Each
135 05118f5a 2021-06-22 stsp .Ar reference
136 05118f5a 2021-06-22 stsp argument may either specify a specific reference or a reference namespace,
137 05118f5a 2021-06-22 stsp in which case all references within this namespace will be used.
138 05118f5a 2021-06-22 stsp .Pp
139 05118f5a 2021-06-22 stsp .Cm gotadmin pack
140 05118f5a 2021-06-22 stsp always ignores references in the
141 05118f5a 2021-06-22 stsp .Pa refs/got/
142 05118f5a 2021-06-22 stsp namespace, effectively treating such references as if they did not refer
143 05118f5a 2021-06-22 stsp to any objects.
144 05118f5a 2021-06-22 stsp .Pp
145 05118f5a 2021-06-22 stsp The options for
146 05118f5a 2021-06-22 stsp .Cm gotadmin pack
147 05118f5a 2021-06-22 stsp are as follows:
148 05118f5a 2021-06-22 stsp .Bl -tag -width Ds
149 05118f5a 2021-06-22 stsp .It Fl a
150 05118f5a 2021-06-22 stsp Add objects to the generated pack file even if they are already packed
151 05118f5a 2021-06-22 stsp in a different pack file.
152 05118f5a 2021-06-22 stsp Unless this option is specified, only loose objects will be added.
153 c7a4fcc8 2023-02-17 op .It Fl D
154 c7a4fcc8 2023-02-17 op Force the use of ref-delta representation for deltified objects.
155 c7a4fcc8 2023-02-17 op If this option is not specified, offset-deltas will be used to represent
156 c7a4fcc8 2023-02-17 op deltified objects.
157 827a167b 2022-08-16 stsp .It Fl q
158 827a167b 2022-08-16 stsp Suppress progress reporting output.
159 05118f5a 2021-06-22 stsp .It Fl r Ar repository-path
160 05118f5a 2021-06-22 stsp Use the repository at the specified path.
161 05118f5a 2021-06-22 stsp If not specified, assume the repository is located at or above the current
162 05118f5a 2021-06-22 stsp working directory.
163 7d69d862 2021-11-15 stsp If this directory is a
164 7d69d862 2021-11-15 stsp .Xr got 1
165 7d69d862 2021-11-15 stsp work tree, use the repository path associated with this work tree.
166 05118f5a 2021-06-22 stsp .It Fl x Ar reference
167 05118f5a 2021-06-22 stsp Exclude objects reachable via the specified
168 05118f5a 2021-06-22 stsp .Ar reference
169 05118f5a 2021-06-22 stsp from the pack file.
170 05118f5a 2021-06-22 stsp The
171 05118f5a 2021-06-22 stsp .Ar reference
172 05118f5a 2021-06-22 stsp argument may either specify a specific reference or a reference namespace,
173 05118f5a 2021-06-22 stsp in which case all references within this namespace will be excluded.
174 05118f5a 2021-06-22 stsp The
175 05118f5a 2021-06-22 stsp .Fl x
176 05118f5a 2021-06-22 stsp option may be specified multiple times to build a list of references to exclude.
177 05118f5a 2021-06-22 stsp .Pp
178 05118f5a 2021-06-22 stsp Exclusion takes precedence over inclusion.
179 05118f5a 2021-06-22 stsp If a reference appears in both the included and excluded lists, it will
180 05118f5a 2021-06-22 stsp be excluded.
181 20662ea0 2021-04-10 stsp .El
182 b13a4ebc 2021-10-06 kn .Tg ix
183 05118f5a 2021-06-22 stsp .It Cm indexpack Ar packfile-path
184 4683a10b 2021-11-04 kn .Dl Pq alias: Cm ix
185 05118f5a 2021-06-22 stsp Create a pack index for the pack file at
186 05118f5a 2021-06-22 stsp .Ar packfile-path .
187 05118f5a 2021-06-22 stsp .Pp
188 05118f5a 2021-06-22 stsp A pack index is required for using the corresponding pack file with
189 05118f5a 2021-06-22 stsp .Xr got 1 .
190 05118f5a 2021-06-22 stsp Usually, a pack index will be created by commands such as
191 05118f5a 2021-06-22 stsp .Cm gotadmin pack
192 05118f5a 2021-06-22 stsp or
193 05118f5a 2021-06-22 stsp .Cm got fetch
194 05118f5a 2021-06-22 stsp as part of regular operation.
195 05118f5a 2021-06-22 stsp The
196 05118f5a 2021-06-22 stsp .Cm gotadmin indexpack
197 05118f5a 2021-06-22 stsp command may be used to recover from a corrupt or missing index.
198 05118f5a 2021-06-22 stsp A given pack file will always yield the same bit-identical index.
199 05118f5a 2021-06-22 stsp .Pp
200 05118f5a 2021-06-22 stsp The provided
201 05118f5a 2021-06-22 stsp .Ar packfile-path
202 05118f5a 2021-06-22 stsp must be located within the
203 05118f5a 2021-06-22 stsp .Pa objects/pack/
204 05118f5a 2021-06-22 stsp directory of the repository and should end in
205 05118f5a 2021-06-22 stsp .Pa .pack .
206 05118f5a 2021-06-22 stsp The filename of the corresponding pack index is equivalent, except
207 05118f5a 2021-06-22 stsp that it ends in
208 05118f5a 2021-06-22 stsp .Pa .idx .
209 b13a4ebc 2021-10-06 kn .Tg ls
210 5fc4f020 2022-08-30 op .It Xo
211 5fc4f020 2022-08-30 op .Cm listpack
212 5fc4f020 2022-08-30 op .Op Fl hs
213 5fc4f020 2022-08-30 op .Ar packfile-path
214 5fc4f020 2022-08-30 op .Xc
215 4683a10b 2021-11-04 kn .Dl Pq alias: Cm ls
216 05118f5a 2021-06-22 stsp List the contents of the pack file at
217 05118f5a 2021-06-22 stsp .Ar packfile-path .
218 05118f5a 2021-06-22 stsp .Pp
219 05118f5a 2021-06-22 stsp Each object contained in the pack file will be displayed on a single line.
220 05118f5a 2021-06-22 stsp The information shown includes the object ID, object type, object offset,
221 05118f5a 2021-06-22 stsp and object size.
222 05118f5a 2021-06-22 stsp .Pp
223 e38d4cde 2022-03-21 naddy If a packed object is deltified against another object, the delta base
224 05118f5a 2021-06-22 stsp will be shown as well.
225 05118f5a 2021-06-22 stsp For offset deltas, the delta base is identified via an offset into the
226 05118f5a 2021-06-22 stsp pack file.
227 05118f5a 2021-06-22 stsp For reference deltas, the delta base is identified via an object ID.
228 05118f5a 2021-06-22 stsp .Pp
229 05118f5a 2021-06-22 stsp The provided
230 05118f5a 2021-06-22 stsp .Ar packfile-path
231 05118f5a 2021-06-22 stsp must be located within the
232 05118f5a 2021-06-22 stsp .Pa objects/pack/
233 05118f5a 2021-06-22 stsp directory of the repository and should end in
234 05118f5a 2021-06-22 stsp .Pa .pack .
235 8e26059c 2022-03-10 stsp The corresponding pack index must exist and can be created with
236 8e26059c 2022-03-10 stsp .Cm gotadmin indexpack
237 8e26059c 2022-03-10 stsp if it is missing.
238 05118f5a 2021-06-22 stsp .Pp
239 05118f5a 2021-06-22 stsp The options for
240 05118f5a 2021-06-22 stsp .Cm gotadmin listpack
241 05118f5a 2021-06-22 stsp are as follows:
242 05118f5a 2021-06-22 stsp .Bl -tag -width Ds
243 05118f5a 2021-06-22 stsp .It Fl h
244 05118f5a 2021-06-22 stsp Show object sizes in human-readable form.
245 05118f5a 2021-06-22 stsp .It Fl s
246 0c079dbc 2021-10-06 kn Display statistics about the pack file after listing objects.
247 05118f5a 2021-06-22 stsp This includes the total number of objects stored in the pack file
248 05118f5a 2021-06-22 stsp and a break-down of the number of objects per object type.
249 05118f5a 2021-06-22 stsp .El
250 b13a4ebc 2021-10-06 kn .Tg cl
251 5fc4f020 2022-08-30 op .It Xo
252 5fc4f020 2022-08-30 op .Cm cleanup
253 5fc4f020 2022-08-30 op .Op Fl anpq
254 5fc4f020 2022-08-30 op .Op Fl r Ar repository-path
255 5fc4f020 2022-08-30 op .Xc
256 4683a10b 2021-11-04 kn .Dl Pq alias: Cm cl
257 9a7c12cf 2023-06-18 op Purge unreferenced loose objects and redundant pack files from the
258 9a7c12cf 2023-06-18 op repository and display the amount of disk space which has been freed
259 9a7c12cf 2023-06-18 op as a result.
260 b3d68e7f 2021-07-03 stsp .Pp
261 b3d68e7f 2021-07-03 stsp Unreferenced objects are present in the repository but cannot be
262 b3d68e7f 2021-07-03 stsp reached via any reference in the entire
263 b3d68e7f 2021-07-03 stsp .Pa refs/
264 b3d68e7f 2021-07-03 stsp namespace.
265 af386a8b 2023-06-18 stsp Objects will usually become unreferenced as a result of deleting
266 cbb6b806 2023-06-18 stsp branches, tags, or other references with
267 cbb6b806 2023-06-18 stsp .Cm got branch -d ,
268 cbb6b806 2023-06-18 stsp .Cm got ref -d ,
269 af386a8b 2023-06-18 stsp or
270 cbb6b806 2023-06-18 stsp .Cm got fetch -X .
271 b3d68e7f 2021-07-03 stsp .Pp
272 b3d68e7f 2021-07-03 stsp Loose objects are stored as individual files beneath the repository's
273 b3d68e7f 2021-07-03 stsp .Pa objects/
274 b3d68e7f 2021-07-03 stsp directory,
275 b3d68e7f 2021-07-03 stsp spread across 256 sub-directories named after the 256 possible
276 b3d68e7f 2021-07-03 stsp hexadecimal values of the first byte of an object identifier.
277 b3d68e7f 2021-07-03 stsp .Pp
278 9a7c12cf 2023-06-18 op Packed objects are stored in pack files under
279 9a7c12cf 2023-06-18 op .Pa objects/pack/ .
280 9a7c12cf 2023-06-18 op .Pp
281 9a7c12cf 2023-06-18 op If redundant copies of packed objects exist in loose form, such
282 9a7c12cf 2023-06-18 op redundant copies will be purged.
283 9a7c12cf 2023-06-18 op If all the objects of a pack file are present in other pack files,
284 9a7c12cf 2023-06-18 op the redundant pack file will be purged.
285 9a7c12cf 2023-06-18 op Pack files will usually become redundant as a result of repacking the
286 9a7c12cf 2023-06-18 op repository with
287 9a7c12cf 2023-06-18 op .Nm
288 9a7c12cf 2023-06-18 op .Cm pack Fl a .
289 9a7c12cf 2023-06-18 op .Pp
290 b3d68e7f 2021-07-03 stsp References in the
291 b3d68e7f 2021-07-03 stsp .Pa refs/got
292 b3d68e7f 2021-07-03 stsp namespace may prevent objects from being purged.
293 b3d68e7f 2021-07-03 stsp This includes references in the
294 b3d68e7f 2021-07-03 stsp .Pa refs/got/worktree
295 b3d68e7f 2021-07-03 stsp namespace created by
296 b3d68e7f 2021-07-03 stsp .Cm got checkout
297 b3d68e7f 2021-07-03 stsp and
298 b3d68e7f 2021-07-03 stsp .Cm got update ,
299 b3d68e7f 2021-07-03 stsp as well as references in the
300 b3d68e7f 2021-07-03 stsp .Pa refs/got/backup
301 b3d68e7f 2021-07-03 stsp namespace created by
302 b3d68e7f 2021-07-03 stsp .Cm got rebase
303 b3d68e7f 2021-07-03 stsp and
304 b3d68e7f 2021-07-03 stsp .Cm got histedit .
305 b3d68e7f 2021-07-03 stsp .Cm gotadmin cleanup
306 b3d68e7f 2021-07-03 stsp will only purge corresponding objects once such references have been
307 b3d68e7f 2021-07-03 stsp deleted with
308 c5058f5d 2023-06-18 stsp .Cm got rebase -X ,
309 c5058f5d 2023-06-18 stsp .Cm got histedit -X ,
310 c5058f5d 2023-06-18 stsp or
311 b3d68e7f 2021-07-03 stsp .Cm got ref -d .
312 9188bd78 2021-07-03 stsp .Pp
313 af386a8b 2023-06-18 stsp The
314 af386a8b 2023-06-18 stsp .Dq preciousObjects
315 af386a8b 2023-06-18 stsp Git extension is intended to prevent the removal of objects from a repository.
316 af386a8b 2023-06-18 stsp .Cm gotadmin cleanup
317 af386a8b 2023-06-18 stsp will refuse to operate on repositories where this extension is active.
318 af386a8b 2023-06-18 stsp .Pp
319 af386a8b 2023-06-18 stsp For compatibility with Git, if a file with the extension
320 af386a8b 2023-06-18 stsp .Pa .keep
321 af386a8b 2023-06-18 stsp exists and corresponds to a pack file with the extension
322 af386a8b 2023-06-18 stsp .Pa .pack
323 af386a8b 2023-06-18 stsp then this pack file will not be removed.
324 af386a8b 2023-06-18 stsp .Pp
325 1124fe40 2021-07-07 stsp Some Git repositories contain pack index files which lack a corresponding
326 1124fe40 2021-07-07 stsp pack file, which is an inconsistent repository state.
327 1124fe40 2021-07-07 stsp In such cases,
328 1124fe40 2021-07-07 stsp .Cm gotadmin cleanup -p -n
329 1124fe40 2021-07-07 stsp will display a list of affected pack index files.
330 e38d4cde 2022-03-21 naddy Whenever possible, the missing pack files should be restored.
331 e38d4cde 2022-03-21 naddy If restoring missing pack files is not possible, then affected pack index
332 1124fe40 2021-07-07 stsp files can be removed with
333 1124fe40 2021-07-07 stsp .Cm gotadmin cleanup -p .
334 1124fe40 2021-07-07 stsp .Pp
335 b3d68e7f 2021-07-03 stsp The options for
336 d4445ca5 2021-07-03 stsp .Cm gotadmin cleanup
337 b3d68e7f 2021-07-03 stsp are as follows:
338 b3d68e7f 2021-07-03 stsp .Bl -tag -width Ds
339 ef8ec606 2021-07-27 stsp .It Fl a
340 87bd0c08 2023-10-16 op Delete all redundant loose and packed objects.
341 ef8ec606 2021-07-27 stsp By default, objects which are newer than an implementation-defined
342 ef8ec606 2021-07-27 stsp modification timestamp are kept on disk to prevent race conditions
343 ef8ec606 2021-07-27 stsp with other commands that add new objects to the repository while
344 ef8ec606 2021-07-27 stsp .Cm gotadmin cleanup
345 ef8ec606 2021-07-27 stsp is running.
346 b3d68e7f 2021-07-03 stsp .It Fl n
347 b3d68e7f 2021-07-03 stsp Display the usual progress output and summary information but do not actually
348 1124fe40 2021-07-07 stsp remove any files from disk.
349 827a167b 2022-08-16 stsp .It Fl p
350 9cb53404 2023-06-18 stsp Instead of purging unreferenced loose objects and redundant pack files,
351 9cb53404 2023-06-18 stsp remove any pack index files which do not have a corresponding pack file.
352 827a167b 2022-08-16 stsp .It Fl q
353 827a167b 2022-08-16 stsp Suppress progress reporting and disk space summary output.
354 2df845d5 2023-07-07 op .It Fl r Ar repository-path
355 2df845d5 2023-07-07 op Use the repository at the specified path.
356 2df845d5 2023-07-07 op If not specified, assume the repository is located at or above the current
357 2df845d5 2023-07-07 op working directory.
358 2df845d5 2023-07-07 op If this directory is a
359 2df845d5 2023-07-07 op .Xr got 1
360 2df845d5 2023-07-07 op work tree, use the repository path associated with this work tree.
361 2df845d5 2023-07-07 op .El
362 2df845d5 2023-07-07 op .It Xo
363 2df845d5 2023-07-07 op .Cm dump
364 2df845d5 2023-07-07 op .Op Fl q
365 2df845d5 2023-07-07 op .Op Fl r Ar repository-path
366 2df845d5 2023-07-07 op .Op Fl x Ar reference
367 2df845d5 2023-07-07 op .Op Ar reference ...
368 2df845d5 2023-07-07 op .Xc
369 ca4f2e18 2023-07-10 stsp Dump the contents of the repository to standard output in Git bundle format.
370 2df845d5 2023-07-07 op .Pp
371 2df845d5 2023-07-07 op If one or more
372 2df845d5 2023-07-07 op .Ar reference
373 2df845d5 2023-07-07 op arguments is specified, only add objects which are reachable via the specified
374 2df845d5 2023-07-07 op references.
375 2df845d5 2023-07-07 op Each
376 2df845d5 2023-07-07 op .Ar reference
377 2df845d5 2023-07-07 op argument may either specify a specific reference or a reference namespace,
378 2df845d5 2023-07-07 op in which case all references within this namespace will be used.
379 2df845d5 2023-07-07 op .Pp
380 2df845d5 2023-07-07 op The options for
381 2df845d5 2023-07-07 op .Nm
382 2df845d5 2023-07-07 op .Cm dump
383 2df845d5 2023-07-07 op are as follows:
384 2df845d5 2023-07-07 op .Bl -tag -width Ds
385 2df845d5 2023-07-07 op .It Fl q
386 2df845d5 2023-07-07 op Suppress progress reporting output.
387 b3d68e7f 2021-07-03 stsp .It Fl r Ar repository-path
388 b3d68e7f 2021-07-03 stsp Use the repository at the specified path.
389 b3d68e7f 2021-07-03 stsp If not specified, assume the repository is located at or above the current
390 b3d68e7f 2021-07-03 stsp working directory.
391 7d69d862 2021-11-15 stsp If this directory is a
392 7d69d862 2021-11-15 stsp .Xr got 1
393 7d69d862 2021-11-15 stsp work tree, use the repository path associated with this work tree.
394 2df845d5 2023-07-07 op .It Fl x Ar reference
395 2df845d5 2023-07-07 op Exclude objects reachable via the specified
396 2df845d5 2023-07-07 op .Ar reference
397 ca4f2e18 2023-07-10 stsp from the bundle.
398 2df845d5 2023-07-07 op The
399 2df845d5 2023-07-07 op .Ar reference
400 2df845d5 2023-07-07 op argument may either specify a specific reference or a reference namespace,
401 2df845d5 2023-07-07 op in which case all references within this namespace will be excluded.
402 2df845d5 2023-07-07 op The
403 2df845d5 2023-07-07 op .Fl x
404 2df845d5 2023-07-07 op option may be specified multiple times to build a list of references to exclude.
405 2df845d5 2023-07-07 op .Pp
406 2df845d5 2023-07-07 op Exclusion takes precedence over inclusion.
407 2df845d5 2023-07-07 op If a reference appears in both the included and excluded lists, it will
408 2df845d5 2023-07-07 op be excluded.
409 f7d653fc 2023-07-09 op .El
410 f7d653fc 2023-07-09 op .It Xo
411 f7d653fc 2023-07-09 op .Cm load
412 02a7e21b 2023-07-10 stsp .Op Fl nq
413 02a7e21b 2023-07-10 stsp .Op Fl l Ar bundle-path
414 f7d653fc 2023-07-09 op .Op Fl r Ar repository-path
415 02a7e21b 2023-07-10 stsp .Op Ar reference ...
416 f7d653fc 2023-07-09 op .Xc
417 02a7e21b 2023-07-10 stsp Read a Git bundle stream from standard input and load its data into
418 02a7e21b 2023-07-10 stsp a repository.
419 f7d653fc 2023-07-09 op .Pp
420 02a7e21b 2023-07-10 stsp If one or more
421 02a7e21b 2023-07-10 stsp .Ar reference
422 02a7e21b 2023-07-10 stsp arguments are provided then only load the specified references
423 02a7e21b 2023-07-10 stsp from the bundle.
424 02a7e21b 2023-07-10 stsp Otherwise, all references will be loaded.
425 02a7e21b 2023-07-10 stsp .Pp
426 f7d653fc 2023-07-09 op The options for
427 8736d68f 2023-07-10 stsp .Cm gotadmin load
428 f7d653fc 2023-07-09 op are as follows:
429 f7d653fc 2023-07-09 op .Bl -tag -width Ds
430 02a7e21b 2023-07-10 stsp .It Fl l Ar bundle-path
431 02a7e21b 2023-07-10 stsp List references available for loading from the bundle at the specified
432 02a7e21b 2023-07-10 stsp .Ar bundle-path
433 02a7e21b 2023-07-10 stsp and exit immediately.
434 02a7e21b 2023-07-10 stsp If the
435 02a7e21b 2023-07-10 stsp .Fl l
436 02a7e21b 2023-07-10 stsp option is specified then no
437 f7d653fc 2023-07-09 op .Ar reference
438 02a7e21b 2023-07-10 stsp arguments are allowed.
439 02a7e21b 2023-07-10 stsp The
440 02a7e21b 2023-07-10 stsp .Fl l
441 02a7e21b 2023-07-10 stsp option is incompatible with the
442 02a7e21b 2023-07-10 stsp .Fl n
443 02a7e21b 2023-07-10 stsp option.
444 f7d653fc 2023-07-09 op .It Fl n
445 ca4f2e18 2023-07-10 stsp Attempt to load the bundle but don't install new packfile or update any
446 f7d653fc 2023-07-09 op reference.
447 ca4f2e18 2023-07-10 stsp Can be used to verify the integrity of the bundle.
448 f7d653fc 2023-07-09 op .It Fl q
449 f7d653fc 2023-07-09 op Suppress progress reporting output.
450 f7d653fc 2023-07-09 op .It Fl r Ar repository-path
451 f7d653fc 2023-07-09 op Use the repository at the specified path.
452 f7d653fc 2023-07-09 op If not specified, assume the repository is located at or above the
453 f7d653fc 2023-07-09 op current working directory.
454 f7d653fc 2023-07-09 op If this directory is a
455 f7d653fc 2023-07-09 op .Xr got 1
456 f7d653fc 2023-07-09 op work tree, use the repository path associated with this work tree.
457 05118f5a 2021-06-22 stsp .El
458 b3d68e7f 2021-07-03 stsp .El
459 20662ea0 2021-04-10 stsp .Sh EXIT STATUS
460 20662ea0 2021-04-10 stsp .Ex -std gotadmin
461 20662ea0 2021-04-10 stsp .Sh SEE ALSO
462 20662ea0 2021-04-10 stsp .Xr got 1 ,
463 20662ea0 2021-04-10 stsp .Xr tog 1 ,
464 20662ea0 2021-04-10 stsp .Xr git-repository 5 ,
465 20662ea0 2021-04-10 stsp .Xr got.conf 5
466 20662ea0 2021-04-10 stsp .Sh AUTHORS
467 8ca658b9 2022-07-05 stsp .An Christian Weisgerber Aq Mt naddy@openbsd.org
468 8ca658b9 2022-07-05 stsp .An Josh Rickmar Aq Mt jrick@zettaport.com
469 8ca658b9 2022-07-05 stsp .An Klemens Nanni Aq Mt kn@openbsd.org
470 ea4587d8 2023-06-18 op .An Omar Polo Aq Mt op@openbsd.org
471 05118f5a 2021-06-22 stsp .An Ori Bernstein Aq Mt ori@openbsd.org
472 8ca658b9 2022-07-05 stsp .An Stefan Sperling Aq Mt stsp@openbsd.org
473 8ca658b9 2022-07-05 stsp .An Tracey Emery Aq Mt tracey@traceyemery.net
474 7e36bc2b 2021-06-25 stsp .Sh CAVEATS
475 7e36bc2b 2021-06-25 stsp .Nm
476 7e36bc2b 2021-06-25 stsp is a work-in-progress and some features remain to be implemented.
477 7e36bc2b 2021-06-25 stsp .Pp
478 7e36bc2b 2021-06-25 stsp At present, the user has to fall back on
479 7e36bc2b 2021-06-25 stsp .Xr git 1
480 7e36bc2b 2021-06-25 stsp to perform some tasks.
481 7e36bc2b 2021-06-25 stsp In particular:
482 7e36bc2b 2021-06-25 stsp .Bl -bullet
483 7e36bc2b 2021-06-25 stsp .It
484 7e36bc2b 2021-06-25 stsp Exporting data from repositories requires
485 7e36bc2b 2021-06-25 stsp .Xr git-fast-export 1 .
486 7e36bc2b 2021-06-25 stsp .It
487 7e36bc2b 2021-06-25 stsp Importing data into repositories requires
488 7e36bc2b 2021-06-25 stsp .Xr git-fast-import 1 .
489 7e36bc2b 2021-06-25 stsp .El
490 aaf7c342 2021-07-03 stsp .Sh BUGS
491 aaf7c342 2021-07-03 stsp Disk space savings reported by
492 aaf7c342 2021-07-03 stsp .Cm gotadmin cleanup
493 aaf7c342 2021-07-03 stsp will be misleading if the repository contains object files that were
494 aaf7c342 2021-07-03 stsp hard-linked from another repository.
495 aaf7c342 2021-07-03 stsp Such hard-links will be created by certain
496 aaf7c342 2021-07-03 stsp .Xr git 1
497 aaf7c342 2021-07-03 stsp commands.
498 aaf7c342 2021-07-03 stsp By itself,
499 aaf7c342 2021-07-03 stsp .Xr got 1
500 aaf7c342 2021-07-03 stsp will never create hard-linked object files.