blob: 2bd48e9c80a0280fb4b7088ab1b19a1cf9f2c7e1 [file] [log] [blame]
GROK-PULL
=========
--------------------------------------
Clone or update local git repositories
--------------------------------------
:Author: mricon@kernel.org
:Date: 2019-02-14
:Copyright: The Linux Foundation and contributors
:License: GPLv3+
:Version: 1.2.0
:Manual section: 1
SYNOPSIS
--------
grok-pull -c /path/to/repos.conf
DESCRIPTION
-----------
This utility runs from a cronjob and downloads the latest manifest from
the grokmirror master. 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.
At the end of its run, grok-pull will generate its own manifest file,
which can then be used for further mirroring.
OPTIONS
-------
--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.
-f, --force Force full git update regardless of last-modified
times. Also useful when repos.conf has changed.
-p, --purge Remove any git trees that are no longer in manifest.
-y, --pretty Pretty-print the generated manifest (sort repos
and add indentation). This is much slower, so
should be used with caution on large
collections.
-r, --no-reuse-existing-repos
If any existing repositories are found on disk,
do NOT set new remote origin and reuse, just
skip them entirely
-m, --verify-mirror Do not perform any updates, just verify that mirror
matches upstream manifest.
-s SUBPATH, --verify-subpath=SUBPATH
Only verify a subpath (accepts shell globbing)
-c CONFIG, --config=CONFIG
Location of repos.conf
EXAMPLES
--------
Locate repos.conf and modify it to reflect your needs. The default
configuration file is heavily commented.
Add a cronjob to run as frequently as you like. For example, add the
following to ``/etc/cron.d/grokmirror.cron``::
# Run grok-pull every minute as user "mirror"
* * * * * mirror /usr/bin/grok-pull -p -c /etc/grokmirror/repos.conf
Make sure the user "mirror" (or whichever user you specified) is able to
write to the toplevel, log and lock locations specified in repos.conf.
SEE ALSO
--------
* grok-manifest(1)
* grok-fsck(1)
* git(1)
SUPPORT
-------
Please open an issue on Github:
https://github.com/mricon/grokmirror/issues