.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "KGB-CLIENT.CONF 5p" .TH KGB-CLIENT.CONF 5p "2020-11-03" "perl v5.30.3" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" kgb\-client.conf \-\- KGB client configuration file .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBkgb\-client\fR\|(1) can be configured via command line options and/or via a configuration file (via the \fB\-\-conf\fR option). Most of the settings can use either way, with command line options overriding settings from the configuration file. .PP The file format is \s-1YAML.\s0 Elaborate example configuration is at the end of this document. .SH "Server connection configuration" .IX Header "Server connection configuration" .SS "repo-id" .IX Subsection "repo-id" Unique project identifier on the server. \fBMandatory\fR. .SS "password" .IX Subsection "password" Pass phrase string. Used together with \fBrepo-id\fR to authenticate the request to the servers. Per-server configuration overrides this setting. .SS "timeout" .IX Subsection "timeout" Request timeout in seconds. Defaults to \f(CW15\fR. .SS "servers" .IX Subsection "servers" A list of maps, describing the servers to try to send ntifications to. Each server map can have the following members: .IP "\fBuri\fR" 4 .IX Item "uri" The \s-1URI\s0 of the server. Something like \f(CW\*(C`http://kgb.server.org:port/\*(C'\fR. .IP "\fBproxy\fR" 4 .IX Item "proxy" \&\s-1SOAP\s0 proxy to use. Mandatory if using \s-1SOAP\s0 protocol. Defaults to to the value of the \fBuri\fR setting, with \f(CW\*(C`?session=KGB\*(C'\fR appended. .IP "\fBpassword\fR" 4 .IX Item "password" Per-server pass phrase. Defaults to the global \fBpassword\fR setting. .IP "\fBtimeout\fR" 4 .IX Item "timeout" Timeout of the request. Defaults to the global \fBtimeout\fR setting. .SS "\fBstatus_dir\fP" .IX Subsection "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. .SH "Content configuration" .IX Header "Content configuration" .SS "\fBbranch-and-module-re\fP" .IX Subsection "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. .PP This is useful with Subversion repositories where there is a single repository for the project, with all the modules and branches. .SS "\fBmodule-and-branch-re\fP" .IX Subsection "module-and-branch-re" Same as \fBbranch-and-module-re\fR, but captures are in reverse order \*(-- module first and branch second. .SS "\fBignore-branch\fP" .IX Subsection "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). .SS "\fBweb-link\fP" .IX Subsection "web-link" \&\s-1URL\s0 containing information about the commit (e.g. cgit, gitweb, viewvcs). \&\f(CW\*(C`${commit}\*(C'\fR, \f(CW\*(C`${branch}\*(C'\fR, \f(CW\*(C`${module}\*(C'\fR and \f(CW\*(C`${project}\*(C'\fR in that string are substituted with the commit \s-1ID,\s0 the branch name, the module name and the project \s-1ID\s0 respectively. .PP See App::KGB::Client for examples. .SS "\fBshort-url-service\fP" .IX Subsection "short-url-service" The name of the \s-1URL\s0 shortening service to use. If given, the service is used to shorten the result of \fBweb-link\fR substitution. .PP See WWW::Shorten for the list of available services. Note that \fBkgb-client\fR comes with an additional service called \f(CW\*(C`Debli\*(C'\fR, which is primarily useful for clients running on Debian's collaboration server, alioth. .SS "\fBsingle-line-commits\fP" .IX Subsection "single-line-commits" Send only a single line of the commit message to the channel. Possible values: auto|force|off. .IP "\fBauto\fR" 4 .IX Item "auto" \&\fB(default)\fR 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 \fBoff\fR). .IP "\fBforce\fR" 4 .IX Item "force" Uses only the first line of the commit log, ignoring the rest. .IP "\fBoff\fR" 4 .IX Item "off" Uses the whole commit log, ignoring any empty lines. .SS "\fBuse-irc-notices\fP" .IX Subsection "use-irc-notices" If set to a true value will make the \s-1IRC\s0 bot use \s-1IRC\s0 \f(CW\*(C`notice\*(C'\fR messages instead of the ordinary \f(CW\*(C`privmsg\*(C'\fR messages. .SS "\fBuse-color\fP" .IX Subsection "use-color" If set to a false value will make the \s-1IRC\s0 bot use no color in the notifications. .SS "Repository-specific configuration options" .IX Subsection "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. .SH "EXAMPLE CONFGURATION" .IX Header "EXAMPLE CONFGURATION" .Vb 10 \& # vim: filetype=yaml \& \-\-\- \& repo\-id: \*(Aqkgb\*(Aq \& password: \*(Aqnotknown\*(Aq \& timeout: 7 \& status\-dir: \*(Aq/home/proj/kgb\-client/status\*(Aq \& module\-and\-branch\-re: \& \- \*(Aq^/([^/]+)/(trunk|tags/(?:[^/]+))/\*(Aq \& \- \*(Aq^/([^/]+)/branches/([^/]+)/\*(Aq \& \- \*(Aq^/(website)/()\*(Aq \& web\-link: \*(Aqhttp://svn.debian.org/viewvc/${project}?view=revision&revision=${commit}\*(Aq \& # web\-link: \*(Aqhttp://anonscm.debian.org/gitweb/?p=${project}/${module}.git;a=commitdiff;h=${commit}\*(Aq \& #short\-url\-service: \*(AqTinyURL\*(Aq \& short\-url\-service: \*(AqDebli\*(Aq \& ignore\-branch: \*(Aqtrunk\*(Aq \& use\-irc\-notices: 0 \& use\-color: 1 \& servers: \& \- uri: \*(Aqhttp://kgb.server.org:9418/\*(Aq \& \- uri: \*(Aqhttp://another.kgb.server.org:9418/\*(Aq \& timeout: 3 \& password: \*(Aqnotknowneither\*(Aq .Ve .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBkgb\-client\fR\|(1), App::KGB::Client, WWW::Shorten, WWW::Shorten::Debli, \&\fBkgb\-bot\fR\|(1) .SH "AUTHOR" .IX Header "AUTHOR" .IP "Damyan Ivanov dmn@debian.org" 4 .IX Item "Damyan Ivanov dmn@debian.org" .SH "COPYRIGHT & LICENSE" .IX Header "COPYRIGHT & LICENSE" Copyright (C) 2012, 2013 Damyan Ivanov .PP This program is free software; you can redistribute it and/or modify it under the terms of the \s-1GNU\s0 General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. .PP This program is distributed in the hope that it will be useful, but \s-1WITHOUT ANY WARRANTY\s0; without even the implied warranty of \s-1MERCHANTABILITY\s0 or \s-1FITNESS FOR A PARTICULAR PURPOSE.\s0 See the \s-1GNU\s0 General Public License for more details. .PP You should have received a copy of the \s-1GNU\s0 General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, \s-1MA\s0 02110\-1301, \s-1USA.\s0