1App::KGB::Client::Git(3U)ser Contributed Perl DocumentatiAopnp::KGB::Client::Git(3)
2
3
4
6 App::KGB::Client::Git - Git support for KGB client
7
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
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
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
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.32.0 2020-12-16 App::KGB::Client::Git(3)