1GROK-MANIFEST(1) GROK-MANIFEST(1)
2
3
4
6 GROK-MANIFEST - Create manifest for use with grokmirror
7
9 grok-manifest [opts] -m manifest.js[.gz] -t /path
10 [/path/to/bare.git]
11
13 Call grok-manifest from a git post-update or post-receive hook to cre‐
14 ate the latest repository manifest. This manifest file is downloaded by
15 mirror slaves (if newer than what they already have) and used to only
16 clone/pull the repositories that have changed since the mirror's last
17 run.
18
20 --version
21 show program's version number and exit
22
23 -h, --help
24 show this help message and exit
25
26 -m MANIFILE, --manifest=MANIFILE
27 Location of manifest.js or manifest.js.gz
28
29 -t TOPLEVEL, --toplevel=TOPLEVEL
30 Top dir where all repositories reside
31
32 -l LOGFILE, --logfile=LOGFILE
33 When specified, will put debug logs in this location
34
35 -c, --check-export-ok
36 Honor the git-daemon-export-ok magic file and do not export
37 repositories not marked as such
38
39 -n, --use-now
40 Use current timestamp instead of parsing commits
41
42 -p, --purge
43 Purge deleted git repositories from manifest
44
45 -x, --remove
46 Remove repositories passed as arguments from the manifest
47 file
48
49 -y, --pretty
50 Pretty-print the generated manifest (sort repos and add
51 indentation). This is much slower, so should be used with
52 caution on large collections.
53
54 -w, --wait-for-manifest
55 When running with arguments, wait if manifest is not there
56 (can be useful when multiple writers are writing to the mani‐
57 fest file via NFS)
58
59 -i IGNORE, --ignore-paths=IGNORE
60 When finding git dirs, ignore these paths (can be used multi‐
61 ple times, accepts shell-style globbing)
62
63 -v, --verbose
64 Be verbose and tell us what you are doing
65
67 The examples assume that the repositories are located in /repos. If
68 your repositories are in /var/lib/git, adjust both -m and -t flags
69 accordingly.
70
71 Initial manifest generation:
72
73 /usr/bin/grok-manifest -m /repos/manifest.js.gz -t /repos
74
75 Inside the git hook:
76
77 /usr/bin/grok-manifest -m /repos/manifest.js.gz -t /repos -n `pwd`
78
79 To purge deleted repositories, use the -p flag when running from cron:
80
81 /usr/bin/grok-manifest -m /repos/manifest.js.gz -t /repos -p
82
83 You can also add it to the gitolite's D command using the -x flag:
84
85 /usr/bin/grok-manifest -m /repos/manifest.js.gz -t /repos -x $repo.git
86
87 To troubleshoot potential problems, you can pass -l parameter to
88 grok-manifest, just make sure the user executing the hook command (user
89 git or gitolite, for example) is able to write to that location:
90
91 /usr/bin/grok-manifest -m /repos/manifest.js.gz -t /repos \
92 -l /var/log/git/grok-manifest-hook.log -n `pwd`
93
95 · grok-pull(1)
96
97 · git(1)
98
100 Please open an issue on Github:
101 https://github.com/mricon/grokmirror/issues
102
104 mricon@kernel.org
105
106 License: GPLv3+
107
109 The Linux Foundation and contributors
110
111
112
113
1141.2.0 2019-02-14 GROK-MANIFEST(1)