NAME

kgb-client.conf -- KGB client configuration file

DESCRIPTION

kgb-client(1) can be configured via command line options and/or via a configuration file (via the --conf option). Most of the settings can use either way, with command line options overriding settings from the configuration file.

The file format is YAML. Elaborate example configuration is at the end of this document.

Settings

repo-id

Unique project identifier on the server. Mandatory.

password

Pass phrase string. Used together with repo-id to authenticate the request to the servers. Per-server configuration overrides this setting.

timeout

Request timeout in seconds. Defaults to 15.

servers

A list of maps, describing the servers to try to send ntifications to. Each server map can have the following members:

uri

The URI of the server. Something like http://kgb.server.org:port/.

proxy

SOAP proxy to use. Mandatory if using SOAP protocol. Defaults to to the value of the uri setting, with ?session=KGB appended.

password

Per-server pass phrase. Defaults to the global password setting.

timeout

Timeout of the request. Defaults to the global timeout setting.

status_dir

Directory to store information about the last successfuly contacted server. If the request is soon after the last contact, the last server is tried first. This way related notifications tend to come out of the same server.

branch-and-module-re

A list of regular expressions. These are matched against the path of the modified files and should have two captures in them -- the first capture is for the branch and the second capture is for the module.

This is useful with Subversion repositories where there is a single repository for the project, with all the modules and branches.

module-and-branch-re

Same as branch-and-module-re, but captures are in reverse order -- module first and branch second.

ignore-branch

A name of a branch to ignore. All changes in that branch are sent without branch info. Useful if most of the branches are made in one branch (trunk, master).

URL containing information about the commit (gitweb, viewvcs). ${commit}, ${branch} and ${module} in that string are substituted with the commit ID, the branch name and the module name respectively.

See App::KGB::Client for examples.

short-url-service

The name of the URL shortening service to use. See WWW::Shorten for the list of available services. Note that kgb-client comes with an additional service called Debli, which is primarily useful for clients running on Debian's collaboration server, alioth.

single-line-commits

Send only a single line of the commit message to the channel. Possible values: auto|force|off, default: auto.

EXAMPLE CONFGURATION

# vim: filetype=yaml
---
repo-id: 'kgb'
password: notknown
timeout: 7
status-dir: '/home/proj/kgb-client/status'
module-and-branch-re:
 - "^/([^/]+)/(trunk|tags/(?:[^/]+))/"
 - "^/([^/]+)/branches/([^/]+)/"
 - "^/(website)/()"
web-link: "http://svn.debian.org/viewvc/proj?view=revision&revision=${commit}"
# web-link: "http://anonscm.debian.org/gitweb/?p=proj/${module}.git;a=commitdiff;h=${commit}"
#short-url-service: Metamark
short-url-service: Debli
ignore-branch: trunk
servers:
 - uri: http://kgb.server.org:9418/
 - uri: http://another.kgb.server.org:9418/
   timeout: 3
   password: notknowneither

SEE ALSO

kgb-client(1), App::KGB::Client, WWW::Shorten, WWW::Shorten::Debli, kgb-bot(1)

AUTHOR

Damyan Ivanov dmn@debian.org

COPYRIGHT & LICENSE

Copyright (C) 2012 Damyan Ivanov

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.