sourCEntral - mobile manpages

pdf

GROK-MANIFEST

NAME

GROK-MANIFEST − Create manifest for use with grokmirror

SYNOPSIS

grok−manifest [opts] −m manifest.js[.gz] −t /path [/path/to/bare.git]

DESCRIPTION

Call grok−manifest from a git post−update or post−receive hook to create the latest repository manifest. This manifest file is downloaded by mirror slaves (if newer than what they already have) and used to only clone/pull the repositories that have changed since the mirror's last run.

OPTIONS

−−version

show program's version number and exit

−h, −−help

show this help message and exit

−m MANIFILE, −−manifest=MANIFILE

Location of manifest.js or manifest.js.gz

−t TOPLEVEL, −−toplevel=TOPLEVEL

Top dir where all repositories reside

−l LOGFILE, −−logfile=LOGFILE

When specified, will put debug logs in this location

−c, −−check−export−ok

Honor the git−daemon−export−ok magic file and do not export repositories not marked as such

−n, −−use−now

Use current timestamp instead of parsing commits

−p, −−purge

Purge deleted git repositories from manifest

−x, −−remove

Remove repositories passed as arguments from the manifest file

−y, −−pretty

Pretty−print the generated manifest (sort repos and add indentation). This is much slower, so should be used with caution on large collections.

−w, −−wait−for−manifest

When running with arguments, wait if manifest is not there (can be useful when multiple writers are writing to the manifest file via NFS)

−i IGNORE, −−ignore−paths=IGNORE

When finding git dirs, ignore these paths (can be used multiple times, accepts shell−style globbing)

−v, −−verbose

Be verbose and tell us what you are doing

EXAMPLES

The examples assume that the repositories are located in /repos. If your repositories are in /var/lib/git, adjust both −m and −t flags accordingly.

Initial manifest generation:

/usr/bin/grok−manifest −m /repos/manifest.js.gz −t /repos

Inside the git hook:

/usr/bin/grok−manifest −m /repos/manifest.js.gz −t /repos −n `pwd`

To purge deleted repositories, use the −p flag when running from cron:

/usr/bin/grok−manifest −m /repos/manifest.js.gz −t /repos −p

You can also add it to the gitolite's "rm" ADC using the −x flag:

/usr/bin/grok−manifest −m /repos/manifest.js.gz −t /repos −x $repo.git

To troubleshoot potential problems, you can pass −l parameter to grok−manifest, just make sure the user executing the hook command (user git or gitolite, for example) is able to write to that location:

/usr/bin/grok−manifest −m /repos/manifest.js.gz −t /repos \
    −l /var/log/git/grok−manifest−hook.log −n `pwd`

SEE ALSO

grok−pull(1)

git(1)

SUPPORT

Please send support requests to the mailing list:

http://lists.kernel.org/mailman/listinfo/grokmirror

AUTHOR

mricon AT kernel DOT org

License: GPLv3+

COPYRIGHT

The Linux Foundation and contributors

pdf