Commits

Anonymous committed 6d35cc7

Document hooks.

Signed-off-by: Junio C Hamano <junkio@cox.net>

Comments (0)

Files changed (6)

Documentation/Makefile

 ARTICLES += diffcore
 ARTICLES += howto-index
 ARTICLES += repository-layout
+ARTICLES += hooks
 # with their own formatting rules.
 SP_ARTICLES = glossary howto/revert-branch-rebase
 

Documentation/git-applymbox.txt

 	generated "Signed-off-by" line based on your committer
 	identity.
 
+
+SEE ALSO
+--------
+link:git-applypatch.html[git-applypatch].
+
+
 Author
 ------
 Written by Linus Torvalds <torvalds@osdl.org>

Documentation/git-applypatch.txt

 e-mail message by 'git-mailinfo', and creates a commit.  It is
 usually not necessary to use this command directly.
 
+This command can run `applypatch-msg`, `pre-applypatch`, and
+`post-applypatch` hooks.  See link:hooks.html[hooks] for more
+information.
+
 
 OPTIONS
 -------

Documentation/git-commit-script.txt

 
 SYNOPSIS
 --------
-'git commit' [-a] [-s] [-v] [(-c | -C) <commit> | -F <file> | -m <msg>] <file>...
+'git commit' [-a] [-s] [-v] [(-c | -C) <commit> | -F <file> | -m <msg>] [-e] <file>...
 
 DESCRIPTION
 -----------
 VISUAL and EDITOR environment variables to edit the commit log
 message.
 
+This command can run `commit-msg`, `pre-commit`, and
+`post-commit` hooks.  See link:hooks.html[hooks] for more
+information.
+
 OPTIONS
 -------
 -a::
 	has a SP character immediately followed by a TAB
 	character.
 
+-e::
+	The message taken from file with `-F`, command line with
+	`-m`, and from file with `-C` are usually used as the
+	commit log message unmodified.  This option lets you
+	further edit the message taken from these sources.
+
 <file>...::
-	Update specified paths in the index file.
+	Update specified paths in the index file before committing.
 
 
 Author

Documentation/git-receive-pack.txt

 <directory>::
 	The repository to sync into.
 
+
+SEE ALSO
+--------
+link:git-send-pack.html[git-send-pack]
+
+
 Author
 ------
 Written by Linus Torvalds <torvalds@osdl.org>

Documentation/hooks.txt

+Hooks used by GIT
+=================
+v0.99.6, Sep 2005
+
+Hooks are little scripts you can place in `$GIT_DIR/hooks`
+directory to trigger action at certain points.  When
+`git-init-db` is run, a handful example hooks are copied in the
+`hooks` directory of the new repository, but by default they are
+all disabled.  To enable a hook, make it executable with `chmod
++x`.
+
+This document describes the currently defined hooks.
+
+applypatch-msg
+--------------
+
+This hook is invoked by `git-applypatch` script, which is
+typically invoked by `git-applymbox`.  It takes a single
+parameter, the name of the file that holds the proposed commit
+log message.  Exiting with non-zero status causes the
+'git-applypatch' to abort before applying the patch.
+
+The hook is allowed to edit the message file in place, and can
+be used to normalize the message into some project standard
+format (if the project has one). It can also be used to refuse
+the commit after inspecting the message file.
+
+The default applypatch-msg hook, when enabled, runs the
+commit-msg hook, if the latter is enabled.
+
+pre-applypatch
+--------------
+
+This hook is invoked by `git-applypatch` script, which is
+typically invoked by `git-applymbox`.  It takes no parameter,
+and is invoked after the patch is applied, but before a commit
+is made.  Exiting with non-zero status causes the working tree
+after application of the patch not committed.
+
+It can be used to inspect the current working tree and refuse to
+make a commit if it does not pass certain test.
+
+The default pre-applypatch hook, when enabled, runs the
+pre-commit hook, if the latter is enabled.
+
+post-applypatch
+---------------
+
+This hook is invoked by `git-applypatch` script, which is
+typically invoked by `git-applymbox`.  It takes no parameter,
+and is invoked after the patch is applied and a commit is made.
+
+This hook is meant primarily for notification, and cannot affect
+the outcome of `git-applypatch`.
+
+pre-commit
+----------
+
+This hook is invoked by `git-commit-script`, and can be bypassed
+with `--no-verify` option.  It takes no parameter, and is
+invoked before obtaining the proposed commit log message and
+making a commit.  Exiting with non-zero status from this script
+causes the `git-commit-script` to abort.
+
+The default pre-commit hook, when enabled, catches introduction
+of lines with trailing whitespaces and aborts the commit when
+a such line is found.
+
+commit-msg
+----------
+
+This hook is invoked by `git-commit-script`, and can be bypassed
+with `--no-verify` option.  It takes a single parameter, the
+name of the file that holds the proposed commit log message.
+Exiting with non-zero status causes the `git-commit-script` to
+abort.
+
+The hook is allowed to edit the message file in place, and can
+be used to normalize the message into some project standard
+format (if the project has one). It can also be used to refuse
+the commit after inspecting the message file.
+
+The default commit-msg hook, when enabled, detects duplicate
+Signed-off-by: lines, and aborts the commit when one is found.
+
+post-commit
+-----------
+
+This hook is invoked by `git-commit-script`.  It takes no
+parameter, and is invoked after a commit is made.
+
+This hook is meant primarily for notification, and cannot affect
+the outcome of `git-commit-script`.
+
+The default post-commit hook, when enabled, demonstrates how to
+send out a commit notification e-mail.
+
+update
+------
+
+This hook is invoked by `git-receive-pack`, which is invoked
+when a `git push` is done against the repository.  It takes
+three parameters, name of the ref being updated, old object name
+stored in the ref, and the new objectname to be stored in the
+ref.  Exiting with non-zero status from this hook prevents
+`git-receive-pack` from updating the ref.
+
+This can be used to prevent 'forced' update on certain refs by
+making sure that the object name is a commit object that is a
+descendant of the commit object named by the old object name.
+Another use suggested on the mailing list is to use this hook to
+implement access control which is finer grained than the one
+based on filesystem group.
+
+post-update
+-----------
+
+This hook is invoked by `git-receive-pack`, which is invoked
+when a `git push` is done against the repository.  It takes
+variable number of parameters; each of which is the name of ref
+that was actually updated.
+
+This hook is meant primarily for notification, and cannot affect
+the outcome of `git-receive-pack`.
+
+The default post-update hook, when enabled, runs
+`git-update-server-info` to keep the information used by dumb
+transport up-to-date.