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

Push to a branch breaks origin, requires a manual gc to fix

From
SVSam Varshavchik <sam.varshavchik@gmail.com>
Date
Jun 17, 2012, 15:07 UTC
Message-ID
<CAMO9iftAP_QKDJwssvPhg0jm8MBjV3isCxKNuP0Ewf-X6kYtxQ@mail.gmail.com>
Something's goes wrong every time I push a branch to origin.
When I start, everything looks ok:
$ git remote show origin
* remote origin
  Fetch URL: http://monster/gitrepos/stasher.git/
  Push  URL: http://monster/gitrepos/stasher.git/
  HEAD branch: master
  Remote branches:
    distreboot tracked
    master     tracked
  Local branches configured for 'git pull':
    distreboot merges with remote distreboot
    master     merges with remote master
  Local refs configured for 'git push':
    distreboot pushes to distreboot (fast-forwardable)
    master     pushes to master     (up to date)
I push:
$ git push
Fetching remote heads...
  refs/
  refs/heads/
  refs/tags/
updating 'refs/heads/distreboot'
  from 0000000000000000000000000000000000000000
  to   e0bce568272859eca817455acafb5f0a52b8fd5a
    sending 6 objects
    done
Updating remote server info
To http://monster/gitrepos/stasher.git/
   6d4900e..e0bce56  distreboot -> distreboot
This breaks something:
$ git remote show origin
* remote origin
  Fetch URL: http://monster/gitrepos/stasher.git/
  Push  URL: http://monster/gitrepos/stasher.git/
  HEAD branch: (unknown)
  Remote branches:
    distreboot                 tracked
    refs/remotes/origin/master stale (use 'git remote prune' to remove)
  Local branches configured for 'git pull':
    distreboot merges with remote distreboot
    master     merges with remote master
  Local ref configured for 'git push':
    distreboot pushes to distreboot (up to date)
Going forward, clone will fail:

$ git clone http://monster/gitrepos/stasher.git/ stasher-test Cloning into 'stasher-test'... warning: remote HEAD refers to nonexistent ref, unable to checkout.

If I do some random fiddling in the origin repo (not really knowing what I'm doing, I can usually fix it:

sh-4.2$ cat HEAD ref: refs/heads/master sh-4.2$ ls -al refs/heads total 16 drwxr-xr-x 3 apache apache 4096 Jun 17 10:53 . drwxr-xr-x 4 apache apache 4096 May 24 10:37 .. drwxr-xr-x 2 apache apache 4096 Jun 17 10:53 .DAV -rw-r--r-- 1 apache apache 41 Jun 17 10:53 distreboot sh-4.2$ cat info/refs e0bce568272859eca817455acafb5f0a52b8fd5a refs/heads/distreboot sh-4.2$ git gc Counting objects: 124, done. Delta compression using up to 8 threads. Compressing objects: 100% (59/59), done. Writing objects: 100% (124/124), done. Total 124 (delta 67), reused 116 (delta 63) sh-4.2$ cat info/refs e0bce568272859eca817455acafb5f0a52b8fd5a refs/heads/distreboot ee94edb5fcdc7a28ffbdeaabe841e3ecff863983 refs/heads/master sh-4.2$ ls -al refs/heads total 12 drwxr-xr-x 3 apache apache 4096 Jun 17 10:54 . drwxr-xr-x 4 apache apache 4096 May 24 10:37 .. drwxr-xr-x 2 apache apache 4096 Jun 17 10:53 .DAV

git clone starts working again.
Until I push the branch, and then master breaks again.
Next: Neal Kreitzinger
Message 1 of 2 in “Push to a branch breaks origin, requires a manual gc to fix”
  1. Sam VarshavchikJun 17, 2012
  2. Neal KreitzingerJun 20, 2012

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.