1GROK-MANIFEST(1)                                              GROK-MANIFEST(1)
2
3
4

NAME

6       GROK-MANIFEST - Create manifest for use with grokmirror
7

SYNOPSIS

9          grok-manifest     [opts]     -m     manifest.js[.gz]     -t    /path
10          [/path/to/bare.git]
11

DESCRIPTION

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       mirroring systems (if manifest is newer than what  they  already  have)
16       and  used  to  only clone/pull the repositories that have changed since
17       the grok-pull's last run.
18

OPTIONS

20          --version
21                 show program's version number and exit
22
23          -h, --help
24                 show this help message and exit
25
26          --cfgfile=CFGFILE
27                 Path to grokmirror.conf containing a [manifest] section
28
29          -m MANIFILE, --manifest=MANIFILE
30                 Location of manifest.js or manifest.js.gz
31
32          -t TOPLEVEL, --toplevel=TOPLEVEL
33                 Top dir where all repositories reside
34
35          -l LOGFILE, --logfile=LOGFILE
36                 When specified, will put debug logs in this location
37
38          -c, --check-export-ok
39                 Honor the git-daemon-export-ok magic file and do  not  export
40                 repositories not marked as such
41
42          -n, --use-now
43                 Use current timestamp instead of parsing commits
44
45          -p, --purge
46                 Purge deleted git repositories from manifest
47
48          -x, --remove
49                 Remove  repositories  passed  as  arguments from the manifest
50                 file
51
52          -y, --pretty
53                 Pretty-print the generated manifest (sort repos and  add  in‐
54                 dentation).  This is much slower, so should be used with cau‐
55                 tion on large collections.
56
57          -w, --wait-for-manifest
58                 When running with arguments, wait if manifest  is  not  there
59                 (can be useful when multiple writers are writing to the mani‐
60                 fest file via NFS)
61
62          -i IGNORE, --ignore-paths=IGNORE
63                 When finding git dirs, ignore these paths (can be used multi‐
64                 ple times, accepts shell-style globbing)
65
66          -o, --fetch-objstore
67                 Fetch updates into objstore repo (if used)
68
69          -v, --verbose
70                 Be verbose and tell us what you are doing
71
72       You  can  set  some of these options in a config file that you can pass
73       via --cfgfile option. See example grokmirror.conf file  for  documenta‐
74       tion.  Values  passed via cmdline flags will override the corresponding
75       config file values.
76

EXAMPLES

78       The examples assume that the repositories are located in /var/lib/gito‐
79       lite3/repositories.
80
81       Initial manifest generation:
82
83          /usr/bin/grok-manifest -m /var/www/html/manifest.js.gz \
84              -t /var/lib/gitolite3/repositories
85
86       Inside the git hook:
87
88          /usr/bin/grok-manifest -m /var/www/html/manifest.js.gz \
89              -t /var/lib/gitolite3/repositories -n `pwd`
90
91       To  purge  deleted repositories from the manifest, use the -p flag when
92       running from cron:
93
94          /usr/bin/grok-manifest -m /var/www/html/manifest.js.gz \
95              -t /var/lib/gitolite3/repositories -p
96
97       You can also add it to the gitolite's D command using the -x flag:
98
99          /usr/bin/grok-manifest -m /var/www/html/manifest.js.gz \
100              -t /var/lib/gitolite3/repositories \
101              -x $repo.git
102
103       To troubleshoot potential  problems,  you  can  pass  -l  parameter  to
104       grok-manifest, just make sure the user executing the hook command (user
105       git or gitolite, for example) is able to write to that location:
106
107          /usr/bin/grok-manifest -m /var/www/html/manifest.js.gz \
108              -t /var/lib/gitolite3/repositories \
109              -l /var/log/grokmirror/grok-manifest.log -n `pwd`
110

SEE ALSO

112grok-pull(1)
113
114git(1)
115

SUPPORT

117       Email tools@linux.kernel.org.
118

AUTHOR

120       mricon@kernel.org
121
122       License: GPLv3+
123
125       The Linux Foundation and contributors
126
127
128
129
1302.0.0                             2020-08-14                  GROK-MANIFEST(1)
Impressum