blob: f146b64b081a35e77b15f14667523d93a25e96ca [file] [log] [blame]
Clone or update local git repositories
:Date: 2020-08-14
:Copyright: The Linux Foundation and contributors
:License: GPLv3+
:Version: 2.0.0
:Manual section: 1
grok-pull -c /path/to/grokmirror.conf
Grok-pull is the main tool for replicating repository updates from the
grokmirror primary server to the mirrors.
Grok-pull has two modes of operation -- onetime and continous
(daemonized). In one-time operation mode, it downloads the latest
manifest and applies any outstanding updates. If there are new
repositories or changes in the existing repositories, grok-pull will
perform the necessary git commands to clone or fetch the required data
from the master. Once all updates are applied, it will write its own
manifest and exit. In this mode, grok-pull can be run manually or from
In continuous operation mode (when run with -o), grok-pull will continue
running after all updates have been applied and will periodically
re-download the manifest from the server to check for new updates. For
this to work, you must set pull.refresh in grokmirror.conf to the amount
of seconds you would like it to wait between refreshes.
If pull.socket is specified, grok-pull will also listen on a socket for
any push updates (relative repository path as present in the manifest
file, terminated with newlines). This can be used for pubsub
subscriptions (see contrib).
--version show program's version number and exit
-h, --help show this help message and exit
-v, --verbose Be verbose and tell us what you are doing
-n, --no-mtime-check Run without checking manifest mtime.
-o, --continuous Run continuously (no effect if refresh is not set)
-c CONFIG, --config=CONFIG
Location of the configuration file
-p, --purge Remove any git trees that are no longer in manifest.
--force-purge Force purge operation despite significant repo deletions
Use grokmirror.conf and modify it to reflect your needs. The example
configuration file is heavily commented. To invoke, run::
grok-pull -v -c /path/to/grokmirror.conf
* grok-manifest(1)
* grok-fsck(1)
* git(1)
Please email