The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Git::Repository::Plugin::Blame::Cache - Cache the output of Git::Repository-blame()>.

VERSION

Version 1.1.1

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,
        );

Arguments:

  • repository (mandatory)

    A unique way to identify a repository. Typically, the root path of the repository.

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:

AUTHOR

Guillaume Aubert, <aubertg at cpan.org>.

COPYRIGHT & LICENSE

Copyright 2012-2013 Guillaume Aubert.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation.

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 GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/