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

weird fatal on push when post-receive hook exists but is empty

From
Sitaram Chamarty <sitaramc@gmail.com>
Date
Apr 20, 2010, 16:21 UTC
Message-ID
<g2x2e24e5b91004200921mc5b0ffoc1c1ec2af25f71c@mail.gmail.com>

Helping someone with what at first appeared to be a gitolite problem, we found something curious. Here it is, reduced to pure git, even without ssh and other complications in between:

    21:47:05 sita-lt:t $ rm -rf a b c
    21:47:10 sita-lt:t $ git init --bare b
    Initialized empty Git repository in /home/sitaram/t/b/
    21:47:23 sita-lt:t $ git clone b a
    Initialized empty Git repository in /home/sitaram/t/a/.git/
    warning: You appear to have cloned an empty repository.
    21:47:29 sita-lt:t $ cat > b/hooks/post-receive
    #!/bin/bash
    # dummy
    21:47:55 sita-lt:t $ chmod +x b/hooks/post-receive
    21:48:00 sita-lt:t $ cd a
    21:48:02 sita-lt:a (master) $ date > foo;git add foo; git commit
-m foo; git push origin master
    [master (root-commit) f55bd25] foo
     1 files changed, 1 insertions(+), 0 deletions(-)
     create mode 100644 foo
    Counting objects: 3, done.
    Writing objects: 100% (3/3), 232 bytes, done.
    Total 3 (delta 0), reused 0 (delta 0)
    Unpacking objects: 100% (3/3), done.
    fatal: The remote end hung up unexpectedly
    error: error in sideband demultiplexer
    error: .git/objects/f5/5bd251325ad1647a29869e75a8080fee1a5d97 died
of signal 13
    To /home/sitaram/t/b
     * [new branch]      master -> master
    error: failed to push some refs to '/home/sitaram/t/b'
    (rc=1)21:48:23 sita-lt:a $
Of course, this does not happen when the hook doesn't even exist...
-- 
Sitaram
Next: Michael J Gruber
Message 1 of 3 in “weird fatal on push when post-receive hook exists but is empty”
  1. Sitaram ChamartyApr 20, 2010
  2. Michael J GruberApr 21, 2010
  3. Johannes SixtApr 21, 2010

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.