NAME¶
kgb-client - relay commits to KGB servers
SYNOPSIS¶
- kgb-client --conf /path/to/config [other-option
...]
- kgb-client --uri http://some.server:port/service --password
password --repo-id repository --repository svn|git|cvs
--timeout timeout-in-seconds --single-line-commits
off|forced|auto --use-irc-notices --web-link template
--short-url-service service --status-dir directory
--[no]-use-color --message-template template --batch-messages
- kgb-client option... /svn/repo revision
- kgb-client option... old-rev new-rev
ref-name
- kgb-client option... $CVSROOT "%p"
- kgb-client option... --fake
- kgb-client option... --relay-msg message...
- kgb-client --help
- kgb-client --man
DESCRIPTION¶
kgb-client is the client counterpart of
kgb-bot(1). It is intended
to be used as a hook in your version control system, executed after the
repository gets updated. It analyzes the commit(s) and then relays the
information to the KGB server, which will show it on IRC.
CONFIGURATION¶
- --conf configuration file
- Specifies the path to kgb-client configuration file.
Configuration options (except
--conf,
--fake and
--relay-msg) may be specified both in the configuration file and on the
command line. Usually you want to have all the options in a configuration
file, because having passwords on the command line is insecure. The
configuration file also gives more control, for example it supports multiple
servers and multiple ways of detection of branch and module names.
See
kgb-client.conf(5) for available configuration options. Unless noted
otherwise, all the options in the configuration file can also be used on
command line, prefixing them with two dashes. E.g. "repo-id" becomes
"--repo-id".
Options given on the command line take precedence over configuration file.
FAKE COMMIT MODE¶
If invoked with the
--fake option,
kgb-client will send a fake
commit to the servers. This is useful for testing client-server communication
independently from VCS setup.
MESSAGE RELAY MODE¶
When the
--relay-msg option is given, there is no repository to be
inspected. Instead, the non-option command line arguments are passed verbatim
to the bot to display on IRC. This can be used for real-time notification
about other events like bug submissions etc.
SUPPORTED VERSION CONTROL SYSTEMS¶
Subversion¶
Installation requires calling
kgb-client with two command line arguments,
like this:
/path/to/kgb-client "$REPOS" "$REV"
- path to the subversion repository
- This is the physical path to the Subversion repository. Something like
/srv/svn/my-repo
- revision
- This is the revision number of the commit, that has triggered the
hook.
Both these arguments are supplied to the standard Subversion post-commit hooks.
Git¶
kgb-client shall be installed as a
post-receive hook. Something
along the following shall do:
#!/bin/sh
exec /path/to/kgb-client --conf /path/to.conf ...
By default,
kgb-client will read the reflog information from standard
input as any standard Git post-receive hook. See
--git-reflog option if
something else is wanted.
There are other ways to give kgb-client information about Git reflog, mostly
useful when debugging on in unusual situations. See App::KGB::Client::Git.
The following settings can be configured via
git-config(1):
- conf
- web-link
CVS¶
kgb-client shall be installed in the
loginfo file in the
"CVSROOT" module of the CVS repository. It shall be given two
arguments -- the repository root, and the directory in which the changes are
being made.
For example:
ALL /path/to/kgb-client --conf /path/to.conf ... "$CVSROOT" "%p"
SEE ALSO¶
- kgb-client.conf(5)
- App::KGB::Client
- App::KGB::Client::Subversion
- App::KGB::Client::Git
- App::KGB::Client::CVS