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

Re: Fixing a broken GIT repo

From
Johannes Sixt <j.sixt@viscovery.net>
Date
Nov 18, 2011, 13:49 UTC
Message-ID
<4EC6625B.2070301@viscovery.net>
In-Reply-To
<ja5dgo$nlf$1@dough.gmane.org>
Am 11/18/2011 11:54, schrieb Bart van den Burg:
Show 6 quoted lines
> I somehow managed to break my GIT repo. Whenever I try to clone or fetch
> from a clean local repo, I get an error.
> 
> I'm able to go back on the server, to the very last commit where
> everything works, but as soon as I make a change locally and push it, it
> breaks again.
...
> $ git clone git@git.samson-it.nl:/home/git/shifter_rai
...
> Receiving objects: 100% (9557/9557), 2.85 MiB | 1.06 MiB/s, done.
...
Show 8 quoted lines
> $ git push
> Counting objects: 4, done.
> Delta compression using up to 4 threads.
> Compressing objects: 100% (2/2), done.
> Writing objects: 100% (3/3), 271 bytes, done.
> Total 3 (delta 1), reused 0 (delta 0)
> To git@git.samson-it.nl:/home/git/shifter_rai
>    cc5693a..85d1ee9  master -> master

It looks like you are pushing via git protocol from Windows (Git-for-Windows). This is known to dead-lock in most cases, and even though it did not here, I would not be surprised if it had other issues.

Do not do it. Push via ssh instead.
Show 8 quoted lines
> bbu@SIT-WST-05 /d/workspace9
> $ git clone git@git.samson-it.nl:/home/git/shifter_rai
> Cloning into shifter_rai...
> remote: Counting objects: 9557, done.
> remote: Compressing objects: 100% (1887/1887), done.
> remote: Total 9557 (delta 7107), reused 9397 (delta 7019)
> Receiving objects: 100% (9557/9557), 2.85 MiB | 1.16 MiB/s, done.
> Resolving deltas: 100% (7107/7107), done.

Did you notice that this downloaded the exact same number of objects as the first clone? There should have been at least 9558, but most likely 9560 objects. There's something fishy.

Show 10 quoted lines
> error: refs/remotes/origin/master does not point to a valid object!
> error: Trying to write ref refs/heads/master with nonexistant object
> 85d1ee957c65485ed9c937a4f1bfdd44fda4ea35
> fatal: Cannot update the ref 'HEAD'.
>
> Needless to say, the mentioned object in fact does exist on the server:
> git@server:~/shifter_rai.git$ ls -la
> objects/85/d1ee957c65485ed9c937a4f1bfdd44fda4ea35
> -r--r--r-- 1 git git 153 Nov 18 11:39
> objects/85/d1ee957c65485ed9c937a4f1bfdd44fda4ea35

Does git fsck --full on the server indeed report a good repository? Can you clone this repository to a different client?

-- Hannes
Previous: Felipe ContrerasNext: Erik Faye-Lund
Message 3 of 5 in “Fixing a broken GIT repo”
  1. Bart van den BurgNov 18, 2011
  2. Felipe ContrerasNov 18, 2011
  3. Johannes SixtNov 18, 2011
  4. Erik Faye-LundNov 21, 2011
  5. Johannes SixtNov 21, 2011

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.