1App::KGB::Client::Git(3U)ser Contributed Perl DocumentatiAopnp::KGB::Client::Git(3)
2
3
4

NAME

6       App::KGB::Client::Git - Git support for KGB client
7

SYNOPSIS

9       my $c = App::KGB::Client::Git->new({
10           ...
11           git_dir => '/some/where',   # defaults to $ENV{GIT_DIR}
12           old_rev     => 'a7c42f58',
13           new_rev     => '8b37ed8a', });
14

DESCRIPTION

16       App::KGB::Client::Git provides KGB client with knowledge about Git
17       repositories. Its  method returns a series of App::KGB::Commit objects,
18       each corresponding to the next commit of the received series.
19

CONSTRUCTION

21   App::KGB::Client::Git->new( { parameters... } )
22       Input data can be given in any of the following ways:
23
24       as parameters to the constructor
25               # a single commit
26               my $c = App::KGB::Client::Git->new({
27                   old_rev => '9ae45bc',
28                   new_rev => 'a04d3ef',
29                   refname => 'master',
30               });
31
32       as a list of revisions/refnames
33               # several commits
34               my $c = App::KGB::Client::Git->new({
35                   changesets  => [
36                       [ '4b3d756', '62a7c8f', 'master' ],
37                       [ '7a2fedc', '0d68c3a', 'my'     ],
38                       ...
39                   ],
40               });
41
42           All the other ways to supply the changes data is converted
43           internally to this one.
44
45       in a file whose name is in the reflog parameter
46           A file name of "-" means standard input, which is the normal way
47           for Git post-receive hooks to get the data.
48
49           The file must contain three words separated by spaces on each line.
50           The first one is taken to be the old revision, the second is the
51           new revision and the third is the refname.
52
53       on the command line
54           Useful when testing the KGB client from the command line. If
55           neither old_rev, new_rev, refname nor changesets is given to the
56           constructor, and if @ARGV has exactly three elements, they are
57           taken to be old revision, new revision and refname respectively.
58           Only one commit can be represented on the command line.
59
60       In all of the above methods, the location of the .git directory can be
61       given in the git_dir parameter, or it will be taken from the
62       environment variable GIT_DIR.
63
64   git-config parameters
65       The following parameters can be set in the "[kgb]" section of
66       git-config(1). If present, they override the settings in the
67       configuration file and these given on the command line.
68
69       project-id
70           The project ID.
71
72           See "project-id" in App::KGB::Client for details.
73
74       web-link
75           See "web-link" in App::KGB::Client for details.
76
77       squash-threshold number
78           Unique to Git KGB client. Sets a threshold of the notifications
79           produced for a given branch update. If there are more commits in
80           the update, instead of producing huge amounts of notifications, the
81           commits are "squashed" into one notification per branch with a
82           summary of the changes.
83
84           The default value is 20.
85
86       squash-message-template string
87           A template for construction of squashed messages. See "message-
88           template" in App::KGB::Client for details.
89
90           The default is ${{author-name}}${ {branch}}${ {commit}}${
91           {module}}${ {log}}.
92
93       tag-squash-threshold number
94           Unique to Git KGB client. Sets a threshold of the notifications
95           produced for tag creations. If there are more tags created in the
96           push, instead of producing huge amounts of notifications, the tags
97           are "squashed" into one notification summarizing the information.
98
99           The default value is 5.
100
101       tag-squash-message-template string
102           A template for construction of squashed tags messages. See
103           "message-template" in App::KGB::Client for details.
104
105           The default is ${{author-name}}${ {module}}${ {log}}.
106
107       enable-branch-ff-notification bool
108           Enables notifications about branch updates whose commits have
109           already been reported. Normally this causes a notification like
110           "fast forward" to appear.  If you don't like this, set it to false.
111
112           The default is "true".
113

METHODS

115       describe_commit
116           Returns an instance of App::KGB::Change class for each commit.
117           Returns undef when all commits were processed.
118
119       format_git_stat text
120           returns a colored version of text, which is expected to be the
121           result of "git diff --shortstat".
122
124       Copyright (c) 2009, 2013 Damyan Ivanov
125
126       Based on the shell post-receive hook by Andy Parkins
127
128       This file is free software; you can redistribute it and/or modify it
129       under the terms of the GNU General Public License as published by the
130       Free Software Foundation; either version 2 of the License, or (at your
131       option) any later version.
132
133       This program is distributed in the hope that it will be useful, but
134       WITHOUT ANY WARRANTY; without even the implied warranty of
135       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
136       General Public License for more details.
137
138       You should have received a copy of the GNU General Public License along
139       with this program; if not, write to the Free Software Foundation, Inc.,
140       51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
141
142
143
144perl v5.36.0                      2022-06-01          App::KGB::Client::Git(3)
Impressum