From b45a1dffa647f6427d0c900fcc55753db7a1994c Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 12 Sep 2021 07:47:12 +0000 Subject: new public-inbox-{clone,fetch} commands Setting up and maintaining git-only mirrors of v2 inboxes is complex since multiple commands are required to clone and fetch into epochs. Unlike grokmirror, these commands do not require any configuration. Instead, they rely on existing git config files and work like "git clone --mirror" and "git fetch", respectively. Like grokmirror, they use manifest.js.gz, but only on a per-inbox basis so users won't have to clone every inbox of a large instance nor edit config files to include/exclude inboxes they're interested in. --- Documentation/public-inbox-clone.pod | 71 ++++++++++++++++++++++++++++++++++++ Documentation/public-inbox-fetch.pod | 63 ++++++++++++++++++++++++++++++++ 2 files changed, 134 insertions(+) create mode 100644 Documentation/public-inbox-clone.pod create mode 100644 Documentation/public-inbox-fetch.pod (limited to 'Documentation') diff --git a/Documentation/public-inbox-clone.pod b/Documentation/public-inbox-clone.pod new file mode 100644 index 00000000..fdb57663 --- /dev/null +++ b/Documentation/public-inbox-clone.pod @@ -0,0 +1,71 @@ +=head1 NAME + +public-inbox-clone - "git clone --mirror" wrapper + +=head1 SYNOPSIS + +public-inbox-clone INBOX_URL [INBOX_DIR] + +=head1 DESCRIPTION + +public-inbox-clone is a wrapper around C for +making the initial clone of a remote HTTP(S) public-inbox. It +allows cloning multi-epoch v2 inboxes with a single command and +zero configuration. + +It does not run L nor +L. 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 does not use nor require any extra +configuration files (not even C<~/.public-inbox/config>). + +L may be used to keep C +up-to-date. + +For v2 inboxes, it will create a C<$INBOX_DIR/manifest.js.gz> +file to speed up subsequent L. + +=head1 OPTIONS + +=over + +=item -q + +=item --quiet + +Quiets down progress messages, also passed to L. + +=item -v + +=item --verbose + +Increases verbosity, also passed to L. + +=item --torsocks=auto|no|yes + +=item --no-torsocks + +Whether to wrap L and L commands with torsocks. + +Default: C + +=back + +=head1 CONTACT + +Feedback welcome via plain-text mail to L + +The mail archives are hosted at L and +L + +=head1 COPYRIGHT + +Copyright all contributors L + +License: AGPL-3.0+ L + +=head1 SEE ALSO + +L, L, L diff --git a/Documentation/public-inbox-fetch.pod b/Documentation/public-inbox-fetch.pod new file mode 100644 index 00000000..7944fdcd --- /dev/null +++ b/Documentation/public-inbox-fetch.pod @@ -0,0 +1,63 @@ +=head1 NAME + +public-inbox-fetch - "git fetch" wrapper for v2 inbox mirrors + +=head1 SYNOPSIS + +public-inbox-fetch -C INBOX_DIR + +=head1 DESCRIPTION + +public-inbox-fetch updates git storage of public-inbox mirrors. +With v2 inboxes, it allows detection of new epochs and avoids +unnecessary traffic on old epochs. + +public-inbox-fetch does not use nor require any configuration +files of its own. + +It does not run L, making it suitable +for maintaining git-only backups. + +For v2 inboxes, it will maintain C<$INBOX_DIR/manifest.js.gz> +file to speed up future invocations. + +=head1 OPTIONS + +=over + +=item -q + +=item --quiet + +Quiets down progress messages, also passed to L. + +=item -v + +=item --verbose + +Increases verbosity, also passed to L. + +=item --torsocks=auto|no|yes + +=item --no-torsocks + +Whether to wrap L and L commands with torsocks. + +Default: C + +=head1 CONTACT + +Feedback welcome via plain-text mail to L + +The mail archives are hosted at L and +L + +=head1 COPYRIGHT + +Copyright all contributors L + +License: AGPL-3.0+ L + +=head1 SEE ALSO + +L -- cgit v1.2.3-24-ge0c7