]> Sergey Matveev's repositories - public-inbox.git/blobdiff - Documentation/public-inbox-clone.pod
No ext_urls
[public-inbox.git] / Documentation / public-inbox-clone.pod
index 5e6a6fe92f4322c9448cb3a0b0765d53dcc3b585..7498aed9f46ad93c48279e45c8d4626300579794 100644 (file)
@@ -89,9 +89,9 @@ for testing.
 Enables space savings when the remote C<manifest.js.gz>
 includes C<forkgroup> entries as generated by grokmirror 2.x.
 
-If C<DIR> is not an absolute path, it is relative to the
-C<DESTINATION> directory.  If only C<--objstore=> is specified
-where C<DIR> is an empty string (C<"">), then C<objstore>
+If C<DIR> does not start with C</>, C<./>, or C<../>, it is treated
+as relative to the C<DESTINATION> directory.  If only C<--objstore=>
+is specified where C<DIR> is an empty string (C<"">), then C<objstore>
 (C<$DESTINATION/objstore>) is the implied value of C<DIR>.
 
 =item --manifest=FILE
@@ -99,11 +99,36 @@ where C<DIR> is an empty string (C<"">), then C<objstore>
 When incrementally updating an existing mirror, load the given
 manifest (typically C<manifest.js.gz>) to speed up updates.
 
-If C<FILE> is not an absolute path, it is relative to the
-C<DESTINATION> directory.  If only C<--manifest => is specified
-where C<FILE > is an empty string (C<"">), then C<manifest.js.gz>
+By default, public-inbox writes the retrieved manifest to
+C<$DESTINATION/manifest.js.gz>, this directive also
+changes the destination to the specified C<FILE>
+
+If C<FILE> does not start with C</>, C<./>, or C<../>, it is treated
+as relative to the C<DESTINATION> directory.  If only C<--manifest=>
+is specified where C<FILE> is an empty string (C<"">), then C<manifest.js.gz>
 (C<$DESTINATION/manifest.js.gz>) is the implied value of C<FILE>.
 
+=item --project-list=FILE
+
+When cloning code repos from a manifest, generate a cgit-compatible
+project list.
+
+If C<FILE> does not start with C</>, C<./>, or C<../>, it is treated
+as relative to the C<DESTINATION> directory.  If only C<--project-list=>
+is specified where C<FILE> is an empty string (C<"">), then C<projects.list>
+(C<$DESTINATION/projects.list>) is the implied value of C<FILE>.
+
+=item --post-update-hook=COMMAND
+
+Hooks to run after a repository is cloned or updated, C<COMMAND> will
+have the bare git repository destination given as its first and only
+argument.
+
+For v2 inboxes, this operates on a per-epoch basis.
+
+May be specified multiple times to run multiple commands in the
+order specified on the command-line.
+
 =item -p
 
 =item --prune
@@ -111,6 +136,12 @@ where C<FILE > is an empty string (C<"">), then C<manifest.js.gz>
 Pass the C<--prune> and C<--prune-tags> flags to L<git-fetch(1)>
 calls on incremental clones.
 
+=item --exit-code
+
+Exit with C<127> if no updates are done when relying on a manifest.
+Updates include fingerprint mismatches in the manifest, new symlinks,
+new repositories, and removed repositories from the L<--project-list>
+
 =item -k
 
 =item --keep-going