blob: 79f5b35d411c06040f8e4fa3d9299d1b19ed552c [file] [log] [blame]
.\" Man page generated from reStructuredText.
.
.TH GROK-PULL 1 "2018-04-18" "1.1.0" ""
.SH NAME
GROK-PULL \- Clone or update local git repositories
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.SH SYNOPSIS
.INDENT 0.0
.INDENT 3.5
grok\-pull \-c /path/to/repos.conf
.UNINDENT
.UNINDENT
.SH DESCRIPTION
.sp
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.
.sp
At the end of its run, grok\-pull will generate its own manifest file,
which can then be used for further mirroring.
.SH OPTIONS
.INDENT 0.0
.INDENT 3.5
.INDENT 0.0
.TP
.B \-\-version
show program\(aqs version number and exit
.TP
.B \-h\fP,\fB \-\-help
show this help message and exit
.TP
.B \-v\fP,\fB \-\-verbose
Be verbose and tell us what you are doing
.TP
.B \-n\fP,\fB \-\-no\-mtime\-check
Run without checking manifest mtime.
.TP
.B \-f\fP,\fB \-\-force
Force full git update regardless of last\-modified
times. Also useful when repos.conf has changed.
.TP
.B \-p\fP,\fB \-\-purge
Remove any git trees that are no longer in manifest.
.TP
.B \-y\fP,\fB \-\-pretty
Pretty\-print the generated manifest (sort repos
and add indentation). This is much slower, so
should be used with caution on large
collections.
.TP
.B \-r\fP,\fB \-\-no\-reuse\-existing\-repos
If any existing repositories are found on disk,
do NOT set new remote origin and reuse, just
skip them entirely
.TP
.B \-m\fP,\fB \-\-verify\-mirror
Do not perform any updates, just verify that mirror
matches upstream manifest.
.TP
.BI \-s \ SUBPATH\fP,\fB \ \-\-verify\-subpath\fB= SUBPATH
Only verify a subpath (accepts shell globbing)
.TP
.BI \-c \ CONFIG\fP,\fB \ \-\-config\fB= CONFIG
Location of repos.conf
.UNINDENT
.UNINDENT
.UNINDENT
.SH EXAMPLES
.sp
Locate repos.conf and modify it to reflect your needs. The default
configuration file is heavily commented.
.sp
Add a cronjob to run as frequently as you like. For example, add the
following to \fB/etc/cron.d/grokmirror.cron\fP:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
# Run grok\-pull every minute as user "mirror"
* * * * * mirror /usr/bin/grok\-pull \-p \-c /etc/grokmirror/repos.conf
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
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.
.SH SEE ALSO
.INDENT 0.0
.IP \(bu 2
grok\-manifest(1)
.IP \(bu 2
grok\-fsck(1)
.IP \(bu 2
git(1)
.UNINDENT
.SH SUPPORT
.sp
Please open an issue on Github:
.INDENT 0.0
.INDENT 3.5
\fI\%https://github.com/mricon/grokmirror/issues\fP
.UNINDENT
.UNINDENT
.SH AUTHOR
mricon@kernel.org
License: GPLv3+
.SH COPYRIGHT
The Linux Foundation and contributors
.\" Generated by docutils manpage writer.
.