NAME

App::GitHooks::Plugin::BlockNOCOMMIT - Prevent committing code with #NOCOMMIT mentions.

DESCRIPTION

Sometimes you want to experiment with code, but you want to make sure that test code doesn't get committed by accident.

This plugin allows you to use #NOCOMMIT to indicate such code blocks, and will prevent you from committing those blocks.

For example:

        # This is a test that will not work once deployed.
        # NOCOMMIT
        ...

Note that the following variations on the tag are correctly picked up:

  • #NOCOMMIT

  • # NOCOMMIT

  • # NO COMMIT

VERSION

Version 1.1.1

METHODS

get_file_pattern()

Return a pattern to filter the files this plugin should analyze.

        my $file_pattern = App::GitHooks::Plugin::BlockNOCOMMIT->get_file_pattern(
                app => $app,
        );

get_file_check_description()

Return a description of the check performed on files by the plugin and that will be displayed to the user, if applicable, along with an indication of the success or failure of the plugin.

        my $description = App::GitHooks::Plugin::BlockNOCOMMIT->get_file_check_description();

run_pre_commit_file()

Code to execute for each file as part of the pre-commit hook.

        my $success = App::GitHooks::Plugin::BlockNOCOMMIT->run_pre_commit_file();

BUGS

Please report any bugs or feature requests through the web interface at https://github.com/guillaumeaubert/App-GitHooks-Plugin-BlockNoCommit/issues/new. 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 App::GitHooks::Plugin::BlockNOCOMMIT

You can also look for information at:

AUTHOR

Guillaume Aubert, <aubertg at cpan.org>.

COPYRIGHT & LICENSE

Copyright 2013-2016 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.