diff options
author | Benjamin C Meyer <ben@meyerhome.net> | 2010-06-19 12:48:30 -0400 |
---|---|---|
committer | Benjamin C Meyer <ben@meyerhome.net> | 2010-06-19 12:48:30 -0400 |
commit | d336028991158a98488b3afd65bb354e35a9ecbd (patch) | |
tree | ec8bb511e8fd616dc0b90bebf41a515e58a4c059 /README | |
parent | 4c1dd86f9edd291bfcdfc3c636f53d25dddc3928 (diff) | |
download | git-hooks-d336028991158a98488b3afd65bb354e35a9ecbd.tar.gz git-hooks-d336028991158a98488b3afd65bb354e35a9ecbd.tar.bz2 |
Try to clarify some sections of the README file to make it easier to see
what the project does right off the bat and how to get it working.
Signed-off-by: Benjamin C Meyer <ben@meyerhome.net>
Diffstat (limited to 'README')
-rw-r--r-- | README | 29 |
1 files changed, 20 insertions, 9 deletions
@@ -1,12 +1,24 @@ git-hooks - A tool to manage Git hooks for multiple git repositories. +git-hooks lets hooks be installed inside git repositories, users home directory, and globally. When a hook is called by git, git-hooks will check each of these locations for the hooks to run. + +************************************ +Install + +Add git-hooks to your PATH environment variable so 'git hooks' can be run. + +Run 'git hooks --install' Inside a git project to change that projects git hooks to use git-hooks hooks. 'git hooks --uninstall' can be run at any time to go back to the old hooks that were installed before (typically the default which does nothing). + +************************************ +Overview + Hooks can be very powerful and useful. Some common hooks include: - Spell check the commit message. - Check that the code builds. - Verify that any new files contain a copyright with the current year in it. -Hooks can also be very project specific such as: +Hooks can be very project specific such as: - Verify that the project still builds - Verify that autotests matching the modified files still pass with no errors. @@ -18,6 +30,11 @@ or very specific to one person such as: - Don't allow a push to a remote repository after 1am in case I break something and will be asleep. - Don't let me commit between 9-5 for projects in ~/personal/ as I shouldn't be working on them during work hours. +For more details on the different Git hooks that can be installed checkout the online documentation at http://www.kernel.org/pub/software/scm/git/docs/githooks.html + +************************************ +Locations + git-hooks provide a way to manage and share your hooks by allowing for the installation of hooks in three locations: - User hooks that are installed in ~/.git_hooks/ - Project hooks that are installed in the git_hooks directory inside of each project. @@ -25,9 +42,8 @@ git-hooks provide a way to manage and share your hooks by allowing for the insta Multiple global hooks directories can be specified by using a space between each path. -For more details on Git Hooks checkout the online documentation at http://www.kernel.org/pub/software/scm/git/docs/githooks.html - ---- Creating hooks +************************************ +Creating hooks To keep things organized git-hooks looks for scripts in sub directories named after the git hook name. For example this project has the following pre-commit script in the following location: @@ -35,8 +51,3 @@ git_hooks/pre-commit/bsd When you run 'git hooks' with no arguments it will list all of the hooks installed on the system. It will run the hooks with the --about argument to generate the description that is shown. Checkout the hooks in contrib for some examples. --- Install - -Clone the git-hooks repository and add the directory to your PATH environment variable so git-hooks will be detected. - -Inside a project's directory run 'git hooks --install' to change that projects git hooks to use git-hooks hooks. 'git hooks --uninstall' can be run at any time to go back to the old hooks that were installed before (usually the default which does nothing). |