GROK-PULL(1)
β¨ GROK-PULL β¨
okay bestie, welcome to grok-pull(1) β the manual page for the tool that clones or updates your local git repositories π
πΈ SYNOPSIS πΈ
grok-pull -c /path/to/grokmirror.conf
π¦ DESCRIPTION π¦
So like, grok-pull is the main character tool for replicating repository updates from the grokmirror primary server over to the mirrors. That's its whole job. It ate and left no crumbs π«Ά
Grok-pull has two modes of operation β onetime and continuous (daemonized). Let's break it down fr fr.
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 run 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 cron. Lowkey perfect for your little scheduled tasks π
In continuous operation mode (when run with -o), grok-pull will keep running after all updates have been applied, and will periodically re-download the manifest from the server to check for new updates. The way it just... stays alive. Iconic. 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. No pull.refresh, no continuous mode. Periodt.
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). She multi-tasks π
β¨ OPTIONS β¨
--versionβ show program's version number and exit. cute lil flex, then she's gone π¨-h,--helpβ show this help message and exit. the classic "help me help you" moment π-v,--verboseβ Be verbose and tell us what you are doing. she will literally narrate everything and honestly? we're obsessed π-n,--no-mtime-checkβ Run without checking manifest mtime. skipping the vibe check on timestamps, bold of you but go off β-o,--continuousβ Run continuously (no effect if refresh is not set). she'll keep going forever, but only ifpull.refreshis actually set β otherwise it's giving nothing, no cap π-c CONFIG,--config=CONFIGβ Location of the configuration file. tell her where the config lives, she can't read minds bestie π§-p,--purgeβ Remove any git trees that are no longer in manifest. bye bye to the repos that didn't make the cut π--force-purgeβ Force purge operation despite significant repo deletions. the "I know this looks scary and I'm doing it anyway" button π₯
β οΈ heads up bestie: --force-purge is the one where you're overriding a safety check about significant repo deletions. It's literally in the name. Be sure. π
π EXAMPLES π
Use grokmirror.conf and modify it to reflect your needs. The example configuration file is heavily commented (she left notes for you, bestie π₯Ί). To invoke, run:
grok-pull -v -c /path/to/grokmirror.conf
Look at that. Verbose AND pointed at a config. The moment. Slay. β¨
π SEE ALSO π
π«Ά SUPPORT π«Ά
Please email tools@linux.kernel.org. They're nice, they wanna hear from you, fr fr π
π AUTHOR π
mricon@kernel.org
License: GPLv3+
π COPYRIGHT π
The Linux Foundation and contributors
okay and that's the whole page bestie!! you just read version 2.0.0, dated 2020-08-14 β shoutout to the GROK-PULL(1) manual page, she's been holding it down since way back π go clone something, you got this ππ¦
π¦ where this page comes from
- debian trixie: grokmirror 2.0.12-1 Β· GPL-3.0-or-later
- epel 9: python3-grokmirror 2.0.12-1.el9 Β· GPL-3.0-or-later
- fedora 43: python3-grokmirror 2.0.12-6.fc43 Β· GPL-3.0-or-later
- fedora 44: python3-grokmirror 2.0.12-7.fc44 Β· GPL-3.0-or-later
- ubuntu noble: grokmirror 2.0.11-2 Β· GPL-3.0-or-later
- ubuntu questing: grokmirror 2.0.12-1
- ubuntu resolute: grokmirror 2.0.12-1build1 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms