Users may wish to keep objstore and manifest files at
a higher level to prevent direct access via HTTP(S),
so those relative paths probably make sense.
---
 Documentation/public-inbox-clone.pod | 12 ++++++------
 lib/PublicInbox/LeiMirror.pm         |  2 +-
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/Documentation/public-inbox-clone.pod 
b/Documentation/public-inbox-clone.pod
index 5e6a6fe9..9bcb9967 100644
--- a/Documentation/public-inbox-clone.pod
+++ b/Documentation/public-inbox-clone.pod
@@ -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,9 +99,9 @@ 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>
+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 -p
diff --git a/lib/PublicInbox/LeiMirror.pm b/lib/PublicInbox/LeiMirror.pm
index e0a212de..ec2ed557 100644
--- a/lib/PublicInbox/LeiMirror.pm
+++ b/lib/PublicInbox/LeiMirror.pm
@@ -1055,7 +1055,7 @@ sub do_mirror { # via wq_io_do or public-inbox-clone
                        my ($k) = (split(/\./, $default))[0];
                        my $v = $lei->{opt}->{$k} // next;
                        $v = $default if $v eq '';
-                       $v = "$self->{dst}/$v" if $v !~ m!\A/!;
+                       $v = "$self->{dst}/$v" if $v !~ m!\A\.{0,2}/!;
                        $self->{"-$k"} = $v;
                }
                local $LIVE = {};

Reply via email to