git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2] Clarify pre-push hook documentation

From
David Cowden <dcow90@gmail.com>
Date
Mar 24, 2014, 23:43 UTC
Message-ID
<1395704609-81957-1-git-send-email-dcow90@gmail.com>
In-Reply-To
<1395601267-78377-1-git-send-email-dcow90@gmail.com>

The documentation as-is does not mention that the pre-push hook is executed even when there is nothing to push. This can lead a new reader to believe there will always be lines fed to the script's standard input and cause minor confusion as to what is happening when there are no lines provided to the pre-push script.

Signed-off-by: David Cowden <dcow90@gmail.com>
---
Notes:
    c.f. http://stackoverflow.com/questions/22585091/git-hooks-pre-push-script-does-not-receive-input-via-stdin
    
    I'm not sure if I've covered every case here.  If there are more cases to
    consider, please let me know and I can update to include them.
 Documentation/githooks.txt | 9 +++++++++
 1 file changed, 9 insertions(+)
diff --git a/Documentation/githooks.txt b/Documentation/githooks.txt
index d954bf6..d05b3c5 100644
--- a/Documentation/githooks.txt
+++ b/Documentation/githooks.txt
@@ -203,6 +203,15 @@ SHA-1>` will be 40 `0`.  If the local commit was specified by something other
 than a name which could be expanded (such as `HEAD~`, or a SHA-1) it will be
 supplied as it was originally given.
 
+The hook is executed regardless of whether changes will actually be pushed or
+not.  This may happen are when 'git push' is called and:
+
+ - the remote ref is already up to date, or
+ - pushing to the remote ref cannot be handled by a simple fast-forward
+
+In other words, the script is called for every push.  In the event that nothing
+is to be pushed, no data will be provided on the script's standard input.
+
 If this hook exits with a non-zero status, 'git push' will abort without
 pushing anything.  Information about why the push is rejected may be sent
 to the user by writing to standard error.
-- 
1.9.1
Previous: Eric SunshineNext: David Cowden
Message 6 of 10 in “Clarify pre-push hook documentation”
  1. Clarify pre-push hook documentationDavid Cowden, Mar 23, 2014
  2. Clarify pre-push hook documentationDavid Cowden, Mar 23, 2014
  3. Junio C HamanoMar 23, 2014
  4. Clarify pre-push hook documentationDavid Cowden, Mar 23, 2014
  5. Eric SunshineMar 24, 2014
  6. Clarify pre-push hook documentationDavid Cowden, Mar 24, 2014
  7. Clarify pre-push hook documentationDavid Cowden, Mar 24, 2014
  8. Junio C HamanoMar 25, 2014
  9. Philip OakleyMar 26, 2014
  10. David CowdenApr 8, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.