]> Sergey Matveev's repositories - public-inbox.git/blobdiff - Documentation/public-inbox-clone.pod
clone: flesh out --objstore behavior and document
[public-inbox.git] / Documentation / public-inbox-clone.pod
index efee01eec59282fcbd27017314c3b655b3c7716a..cee9f76eec04cf39868a9d1a6719ed784ff5fc86 100644 (file)
@@ -6,6 +6,8 @@ public-inbox-clone - "git clone --mirror" wrapper
 
 public-inbox-clone INBOX_URL [INBOX_DIR]
 
+public-inbox-clone ROOT_URL [DESTINATION]
+
 =head1 DESCRIPTION
 
 public-inbox-clone is a wrapper around C<git clone --mirror> for
@@ -18,6 +20,11 @@ L<public-inbox-index(1)>.  Those commands must be run separately
 if serving/searching the mirror is required.  As-is,
 public-inbox-clone is suitable for creating a git-only backup.
 
+public-inbox-clone creates a Makefile with handy targets to update the
+inbox once indexed.  This Makefile may be edited by the user; it will
+not be rewritten by L<public-inbox-fetch(1)> unless it is removed
+completely.
+
 public-inbox-clone does not use nor require any extra
 configuration files (not even C<~/.public-inbox/config>).
 
@@ -46,6 +53,53 @@ C<--epoch=~2..> clones the three latest epochs.
 Default: C<0..~0> or C<0..> or C<..~0>
 (all epochs, all three examples are equivalent)
 
+=item -I PATTERN
+
+=item --include=PATTERN
+
+When cloning a top-level with multiple inboxes, only clone inboxes and
+repositories matching a given wildcard pattern (using C<*?> and C<[]> is
+supported).
+
+=item --exclude=PATTERN
+
+When cloning a top-level with multiple inboxes, ignore inboxes and
+repositories matching the given wildcard pattern.  Supports the same
+wildcards as L</--include>
+
+=item --inbox-config=always|v2|v1|never
+
+Whether or not to retrieve the C<$INBOX/_/text/config/raw> HTTP(S)
+endpoint when cloning.
+
+Since we can't deduce v1 inboxes from code repositories, setting this
+to C<v2> or C<never> can allow faster clones of code repositories if
+no v1 inboxes are present.
+
+Default: C<always>
+
+=item --inbox-version=NUM
+
+Force a remote public-inbox version (must be C<1> or C<2>).
+This is auto-detected by default, and this option exists mainly
+for testing.
+
+=item --objstore[=DIR]
+
+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
+without C<DIR>, then C<objstore> (C<$DESTINATION/objstore>)
+is the implied value of C<DIR>.
+
+=item -n
+
+=item --dry-run
+
+Show what would be done, without making any changes.
+
 =item -q
 
 =item --quiet
@@ -62,7 +116,7 @@ Increases verbosity, also passed to L<git-fetch(1)>.
 
 =item --no-torsocks
 
-Whether to wrap L<git(1)> and L<curl(1)> commands with torsocks.
+Whether to wrap L<git(1)> and L<curl(1)> commands with L<torsocks(1)>.
 
 Default: C<auto>