Provided by: kgb-client_1.48-1_all bug

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.

Server connection configuration

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

Content configuration

   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 (e.g. trunk, master).

   web-link
       URL containing information about the commit (e.g. cgit, gitweb, viewvcs).  "${commit}",
       "${branch}", "${module}" and "${project}" in that string are substituted with the commit
       ID, the branch name, the module name and the project ID respectively.

       See App::KGB::Client for examples.

   short-url-service
       The name of the URL shortening service to use. If given, the service is used to shorten
       the result of web-link substitution.

       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.

       auto
           (default) Uses single line notification if the commit log's second line is an empty
           string. Otherwise uses the whole commit log (as if set to off).

       force
           Uses only the first line of the commit log, ignoring the rest.

       off Uses the whole commit log, ignoring any empty lines.

   use-irc-notices
       If set to a true value will make the IRC bot use IRC "notice" messages instead of the
       ordinary "privmsg" messages.

   use-color
       If set to a false value will make the IRC bot use no color in the notifications.

   Repository-specific configuration options
       Some of the backends may support additional configuration options. See
       App::KGB::Client::Git, App::KGB::Client::Subversion and App::KGB::Client::CVS.

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/${project}?view=revision&revision=${commit}'
        # web-link: 'http://anonscm.debian.org/gitweb/?p=${project}/${module}.git;a=commitdiff;h=${commit}'
        #short-url-service: 'TinyURL'
        short-url-service: 'Debli'
        ignore-branch: 'trunk'
        use-irc-notices: 0
        use-color: 1
        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, 2013 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.