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

Re: Git push failure with update hook success

From
Shawn O. Pearce <spearce@spearce.org>
Date
Mar 7, 2007, 17:09 UTC
Message-ID
<20070307170904.GB27922@spearce.org>
In-Reply-To
<17902.60536.5890.608883@lisa.zopyra.com>
Bill Lear <rael@zopyra.com> wrote:
Show 8 quoted lines
> On Wednesday, March 7, 2007 at 10:29:29 (-0600) Bill Lear writes:
> >...
> >whether it might be better to call the update hook after everything
> >had actually been written, including the log file.
> 
> I dug into the code: in receive-pack.c, the command 'update(struct
> command *cmd)', calls write_ref_sha1() after run_update_hook()
> and does not check the return code of write_ref_sha1().

Please see the patch I just posted (and CC'd you on). We should have caught the return error of write_ref_sha1, the patch now does that. :)

You probably want to use the post-update hook to send email. This hook will always run if it exists and is executable, but it won't be given a ref that failed to be updated.

Of course an unfortunate downside to the post-update hook is it does not receive the old SHA-1 of the ref; it just gets the ref name.

-- 
Shawn.
Previous: Bill LearNext: Bill Lear
Message 3 of 12 in “Git push failure with update hook success”
  1. Bill LearMar 7, 2007
  2. Bill LearMar 7, 2007
  3. Shawn O. PearceMar 7, 2007
  4. Bill LearMar 7, 2007
  5. Shawn O. PearceMar 7, 2007
  6. Shawn O. PearceMar 7, 2007
  7. Bill LearMar 7, 2007
  8. Andy ParkinsMar 8, 2007
  9. Shawn O. PearceMar 8, 2007
  10. Junio C HamanoMar 8, 2007
  11. Andy ParkinsMar 8, 2007
  12. Shawn O. PearceMar 8, 2007

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.