PUBLIC-INBOX-FETCH(1)      public-inbox user manual      PUBLIC-INBOX-FETCH(1)

NAME
       public-inbox-fetch - "git fetch" wrapper for v2 inbox mirrors

SYNOPSIS
       public-inbox-fetch [--exit-code] -C INBOX_DIR

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 public-inbox-index(1), making it suitable for
       maintaining git-only backups.

       For v2 inboxes, it will maintain "$INBOX_DIR/manifest.js.gz" file to
       speed up future invocations.  It always safe to remove manifest.js.gz,
       it is merely an optimization and will be restored on the next
       invocation.

       To prevent fetches on any v2 epoch, use chmod(1) to remove write
       permissions to the top-level of the epoch.  For example, to disable
       fetches on epoch 4:

               chmod a-w $INBOX_DIR/git/4.git

       If you wish to re-enable fetches to the epoch:

               chmod u+w $INBOX_DIR/git/4.git

OPTIONS
       -q
       --quiet
           Quiets down progress messages, also passed to git-fetch(1).

       -T REMOTE
       --try-remote REMOTE
           Try a given remote name instead of "origin" or "_grokmirror".  May
           be specified more than once.

           Default: "origin", "_grokmirror"

       --exit-code
           Exit with 127 if no updates are done.  This can be used in shell
           scripts to avoid invoking public-inbox-index(1) when there are no
           updates:

                   public-inbox-fetch -q --exit-code && public-inbox-index
                   test $? -eq 0 || exit $?

       -p
       --prune
           Pass the "--prune" and "--prune-tags" flags to git-fetch(1) calls.

       -v
       --verbose
           Increases verbosity, also passed to git-fetch(1).

       --torsocks=auto|no|yes
       --no-torsocks
           Whether to wrap git(1) and curl(1) commands with torsocks(1).

           Default: "auto"

EXIT CODES
       127 no updates when "--exit-code" is used above

       public-inbox-fetch will also exit with curl "EXIT CODES" in curl(1) as
       documented in the curl(1) manpage (e.g. 7 when curl cannot reach a
       host).  Likewise, git-fetch(1) failures are also propagated to the
       user.

CONTACT
       Feedback welcome via plain-text mail to <mailto:meta@public-inbox.org>

       The mail archives are hosted at <https://public-inbox.org/meta/> and
       <http://4uok3hntl7oi7b4uf4rtfwefqeexfzil2w6kgk2jn5z2f764irre7byd.onion/meta/>

COPYRIGHT
       Copyright all contributors <mailto:meta@public-inbox.org>

       License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>

SEE ALSO
       public-inbox-index(1), curl(1)

public-inbox.git                  1993-10-02             PUBLIC-INBOX-FETCH(1)