{"id":13722500,"url":"https://github.com/gnustavo/Git-Hooks","last_synced_at":"2025-05-07T15:30:42.844Z","repository":{"id":3082460,"uuid":"4106322","full_name":"gnustavo/Git-Hooks","owner":"gnustavo","description":"Framework for implementing Git (and Gerrit) hooks","archived":false,"fork":false,"pushed_at":"2024-06-16T20:57:20.000Z","size":2103,"stargazers_count":41,"open_issues_count":10,"forks_count":17,"subscribers_count":10,"default_branch":"next","last_synced_at":"2025-04-05T09:41:44.990Z","etag":null,"topics":["git","hooks","perl"],"latest_commit_sha":null,"homepage":"http://search.cpan.org/dist/Git-Hooks/","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gnustavo.png","metadata":{"files":{"readme":"README.md","changelog":"Changes","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-04-22T19:08:05.000Z","updated_at":"2024-06-16T20:57:21.000Z","dependencies_parsed_at":"2023-11-16T14:51:42.262Z","dependency_job_id":"ee6ae3b3-7079-4d29-9eb0-8b2db116dda0","html_url":"https://github.com/gnustavo/Git-Hooks","commit_stats":{"total_commits":948,"total_committers":18,"mean_commits":"52.666666666666664","dds":"0.32383966244725737","last_synced_commit":"a61f14c73a9c39ee5939fc7dd7d6ab00a91d78ca"},"previous_names":[],"tags_count":151,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnustavo%2FGit-Hooks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnustavo%2FGit-Hooks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnustavo%2FGit-Hooks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnustavo%2FGit-Hooks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gnustavo","download_url":"https://codeload.github.com/gnustavo/Git-Hooks/tar.gz/refs/heads/next","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252905562,"owners_count":21822824,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git","hooks","perl"],"created_at":"2024-08-03T01:01:29.589Z","updated_at":"2025-05-07T15:30:42.328Z","avatar_url":"https://github.com/gnustavo.png","language":"Perl","funding_links":[],"categories":["Projects"],"sub_categories":[],"readme":"# Git::Hooks\n\nA Perl framework for implementing Git (and Gerrit) hooks.\n\n## What's this about?\n\n[Git hooks](http://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) are\nprograms you install in Git repositories in order to augment Git's\nfunctionality.\n\nThe Git::Hooks Perl module is a framework that makes it easier to implement and\nuse Git hooks. It comes with a set of plugins already implementing useful\nfunctionality for you to make sure your commits comply with your project\npolicies. As a Git user or a Git server administrator you probably don't need to\nimplement any hooks for most of your needs, just to enable and configure some of\nthe existing plugins.\n\n## Installation\n\nGit::Hooks is installed like any other Perl module. It's easier to use a CPAN\nclient, such as `cpanm` or `cpan`, so that dependencies are installed\nautomatically:\n\n    $ cpanm Git::Hooks\n    $ cpan Git::Hooks\n\nYou can even use it directly from a clone of its Git repository. All you have to\ndo is to tell Perl where to find it by using this in your scripts:\n\n    use lib '/path/to/clone/of/git-hooks/lib';\n    use Git::Hooks;\n\nAnother option is to run your hooks in a Docker container, so that you don't\nneed to really install it. Read the Docker section of the\n[Git::Hooks::Tutorial](https://metacpan.org/dist/Git-Hooks/view/lib/Git/Hooks/Tutorial.pod)\nto know how to do it.\n\n## Documentation\n\nThe main module documents its [usage](https://metacpan.org/pod/Git%3A%3AHooks)\nin detail. Each plugin is implemented as a separate module under the\n`Git::Hooks::` name space. Git::Hooks distribution comes with a set of plugins\nand you can find more on\n[CPAN](https://metacpan.org/search?q=module%3AGit%3A%3AHooks). The native\nplugins provided by the distribution are these:\n\n- [Git::Hooks::CheckCommit](https://metacpan.org/pod/Git%3A%3AHooks%3A%3ACheckCommit) -\n  enforce commit policies\n- [Git::Hooks::CheckDiff](https://metacpan.org/pod/Git%3A%3AHooks%3A%3ACheckDiff) -\n  check differences between commits\n- [Git::Hooks::CheckFile](https://metacpan.org/pod/Git%3A%3AHooks%3A%3ACheckFile) -\n  check file names and contents\n- [Git::Hooks::CheckJira](https://metacpan.org/pod/Git%3A%3AHooks%3A%3ACheckJira) -\n  integrate with [Jira](https://www.atlassian.com/software/jira)\n- [Git::Hooks::CheckLog](https://metacpan.org/pod/Git%3A%3AHooks%3A%3ACheckLog) -\n  enforce log message policies\n- [Git::Hooks::CheckReference](https://metacpan.org/pod/Git%3A%3AHooks%3A%3ACheckReference) -\n  check reference names\n- [Git::Hooks::CheckRewrite](https://metacpan.org/pod/Git%3A%3AHooks%3A%3ACheckRewrite) -\n  protect against unsafe rewrites\n- [Git::Hooks::CheckWhitespace](https://metacpan.org/pod/Git%3A%3AHooks%3A%3ACheckWhitespace) -\n  detect whitespace errors\n- [Git::Hooks::GerritChangeId](https://metacpan.org/pod/Git%3A%3AHooks%3A%3AGerritChangeId) -\n  insert Gerrit's Change-Ids into commit messages\n- [Git::Hooks::Notify](https://metacpan.org/pod/Git%3A%3AHooks%3A%3ANotify) -\n  notify users via email\n- [Git::Hooks::PrepareLog](https://metacpan.org/pod/Git%3A%3AHooks%3A%3APrepareLog) -\n  prepare commit messages before being edited\n\nFor a gentler introduction you can read our\n[Git::Hooks::Tutorial](https://metacpan.org/dist/Git-Hooks/view/lib/Git/Hooks/Tutorial.pod).\nIt has instructions for Git users, Git administrators, and Gerrit\nadministrators.\n\n## Getting Help\n\nIn order to ask questions or to report problems, please, [file an issue at\nGitHub](https://github.com/gnustavo/Git-Hooks/issues).\n\n## Copyright \u0026 License\n\nGit::Hooks is copyright (c) 2008-2022 of [CPQD](http://www.cpqd.com.br).\n\nThis is free software; you can redistribute it and/or modify it under the same\nterms as the Perl 5 programming language system itself. About the only thing you\ncan't do is pretend that you wrote code that you didn't.\n\n## Enjoy!\n\nGustavo Chaves \u003cgnustavo@cpan.org\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgnustavo%2FGit-Hooks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgnustavo%2FGit-Hooks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgnustavo%2FGit-Hooks/lists"}