Fix and clarify documentation of ref-update and commit-received hooks

- Clarify behavior of ref-update when multiple commits are pushed, i.e.
  that it is only called once for the entire ref update.

- Fix the documentation of commit-received which states that it is called
  for changes pushed for review. In fact it is also called for direct
  pushes, but unlike ref-update it is called once for each commit.

Change-Id: Ie3e2dcab37eeb5d0ed06e05322e72d3fc73925fd
diff --git a/src/main/resources/Documentation/hooks.md b/src/main/resources/Documentation/hooks.md
index c4b5fd7..dad750f 100644
--- a/src/main/resources/Documentation/hooks.md
+++ b/src/main/resources/Documentation/hooks.md
@@ -15,6 +15,10 @@
 ref deletion) is received by Gerrit. It allows a request to be rejected before it
 is committed to the Gerrit repository.
 
+When multiple commits are pushed by direct push, this hook is called once with
+the `--oldrev` being the sha1 of the current branch tip, and `--newrev` being the
+sha1 of the commit that will be the new tip of the branch.
+
 If the hook exits with non-zero return code the update will be rejected and any
 output will be returned to the user.
 
@@ -24,8 +28,10 @@
 
 ### commit-received
 
-This is called when a commit is received for review by Gerrit. It allows a push to
-be rejected before the review is created.
+This is called when a commit is received by Gerrit either by direct push or by
+push for review (to `refs/for/branch`). It allows a push to be rejected before
+a review is created, or before the branch is updated in case of a direct push.
+It is called once for each commit in the push.
 
 If the hook exits with non-zero return code the push will be rejected. Any output
 from the hook will be returned to the user, regardless of the return code.