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       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

OPTIONS

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

EXAMPLES

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

SEE ALSO

95       · grok-pull(1)
96
97       · git(1)
98

SUPPORT

100       Please open an issue on Github:
101          https://github.com/mricon/grokmirror/issues
102

AUTHOR

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)
Impressum