NAME
Git::Repository::Plugin::Blame::Cache - Cache the output of Git::Repository->blame()
.
VERSION
Version 1.4.0
SYNOPSIS
use Git::Repository::Plugin::Blame::Cache;
# Instantiate the cache for a given repository.
my $cache = Git::Repository::Plugin::Blame::Cache->new(
repository => $repository,
);
my $repository = $cache->get_repository();
# Cache blame lines.
$cache->set_blame_lines(
file => $file,
blame_lines => $blame_lines,
);
# Retrieve blame lines from the cache.
my $blame_lines = $cache->get_blame_lines(
file => $file,
);
DESCRIPTION
Cache the output of Git::Repository::Plugin::Blame->blame()
and Git::Repository->blame()
by extension.
METHODS
new()
Return a cache object for the specified repository.
my $cache = Git::Repository::Plugin::Blame::Cache->new(
repository => $repository,
options => $options,
);
Arguments:
repository (mandatory)
A unique way to identify a repository. Typically, the root path of the repository.
blame_args (optional)
A hashref of arguments used to generate the
git blame
output, if applicable. This avoids caching the same output forgit blame
andgit blame -w
, for example.
get_repository()
Return the unique identifier for the repository.
my $repository = $cache->get_repository();
get_blame_lines()
Retrieve git blame lines from the cache (if they exist) for a given file.
my $blame_lines = $cache->get_blame_lines(
file => $file,
);
Arguments:
file (mandatory)
The file for which you want the cached
git blame
output.
set_blame_lines()
Store in the cache the output of git blame
for a given file.
$cache->set_blame_lines(
file => $file,
blame_lines => $blame_lines,
);
Arguments:
file (mandatory)
The file for which you are caching the
git blame
output.blame_lines (mandatory)
The output of
Git::Repository::Plugin::Blame->blame()
.
BUGS
Please report any bugs or feature requests through the web interface at https://github.com/guillaumeaubert/Git-Repository-Plugin-Blame/issues. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Git::Repository::Plugin::Blame
You can also look for information at:
GitHub (report bugs there)
https://github.com/guillaumeaubert/Git-Repository-Plugin-Blame/issues
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
MetaCPAN
AUTHOR
Guillaume Aubert, <aubertg at cpan.org>
.
COPYRIGHT & LICENSE
Copyright 2012-2017 Guillaume Aubert.
This code is free software; you can redistribute it and/or modify it under the same terms as Perl 5 itself.
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 LICENSE file for more details.