We can support absolute paths to avoid surprising behaviors,
but relative paths are preferred since the goal is to be
accessible over the "dumb" HTTP git transport (the dumb
transport is uses less memory and CPU on the server).
public-inbox-clone INBOX_URL [INBOX_DIR]
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
=head1 DESCRIPTION
public-inbox-clone is a wrapper around C<git clone --mirror> for
This is auto-detected by default, and this option exists mainly
for testing.
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>.
+
if (defined(my $os = $lei->{opt}->{objstore})) {
$os = 'objstore' if $os eq ''; # --objstore w/o args
if (defined(my $os = $lei->{opt}->{objstore})) {
$os = 'objstore' if $os eq ''; # --objstore w/o args
- $self->{-objstore} = "$self->{dst}/$os";
+ $os = "$self->{dst}/$os" if $os !~ m!\A/!;
+ $self->{-objstore} = $os;
}
local $LIVE;
my $iv = $lei->{opt}->{'inbox-version'} //
}
local $LIVE;
my $iv = $lei->{opt}->{'inbox-version'} //