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

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

From
NKNeal Kreitzinger <nkreitzinger@gmail.com>
Date
Jun 20, 2012, 20:10 UTC
Message-ID
<4FE22E49.4020400@gmail.com>
In-Reply-To
<CAMO9iftAP_QKDJwssvPhg0jm8MBjV3isCxKNuP0Ewf-X6kYtxQ@mail.gmail.com>
On 6/17/2012 10:07 AM, Sam Varshavchik wrote:
Show 88 quoted lines
> 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.

i don't use http with git, but have you looked at git-config manpage and searched for http? i know i've heard http has extra considerations. The version of git you are using may be important info also. there is something in git-config about unclonability problems with older git versions.

v/r, neal

Previous: Sam Varshavchik
Message 2 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.