App::KGB::Client::Git->new({parameters...})
Input data can be given in any of the following ways:
as parameters to the constructor
# a single commit
my $c = App::KGB::Client::Git->new({
old_rev => '9ae45bc',
new_rev => 'a04d3ef',
refname => 'master',
});
as a list of revisions/refnames
# several commits
my $c = App::KGB::Client::Git->new({
changesets => [
[ '4b3d756', '62a7c8f', 'master' ],
[ '7a2fedc', '0d68c3a', 'my' ],
...
],
});
All the other ways to supply the changes data is converted internally to this one.
in a file whose name is in the reflog parameter
A file name of "-" means standard input, which is the normal way for Git post-receive hooks to get
the data.
The file must contain three words separated by spaces on each line. The first one is taken to be the
old revision, the second is the new revision and the third is the refname.
on the command line
Useful when testing the KGB client from the command line. If neither old_rev, new_rev, refname nor
changesets is given to the constructor, and if @ARGV has exactly three elements, they are taken to be
old revision, new revision and refname respectively. Only one commit can be represented on the
command line.
In all of the above methods, the location of the .git directory can be given in the git_dir parameter, or
it will be taken from the environment variable GIT_DIR.
git-configparameters
The following parameters can be set in the "[kgb]" section of git-config(1). If present, they override
the settings in the configuration file and these given on the command line.
project-id
The project ID.
See "project-id" in App::KGB::Client for details.
web-link
See "web-link" in App::KGB::Client for details.
squash-threshold number
Unique to Git KGB client. Sets a threshold of the notifications produced for a given branch update.
If there are more commits in the update, instead of producing huge amounts of notifications, the
commits are "squashed" into one notification per branch with a summary of the changes.
The default value is 20.
squash-message-template string
A template for construction of squashed messages. See "message-template" in App::KGB::Client for
details.
The default is "${{module} }${{branch} }${{commit} }${{author-name} }${{log}}".
tag-squash-threshold number
Unique to Git KGB client. Sets a threshold of the notifications produced for tag creations. If there
are more tags created in the push, instead of producing huge amounts of notifications, the tags are
"squashed" into one notification summarizing the information.
The default value is 5.
tag-squash-message-template string
A template for construction of squashed tags messages. See "message-template" in App::KGB::Client for
details.
The default is "${{module} }${{author-name} }${{log}}".
enable-branch-ff-notification bool
Enables notifications about branch updates whose commits have already been reported. Normally this
causes a notification like "fast forward" to appear. If you don't like this, set it to false.
The default is "true".