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

Fixing a broken GIT repo

From
BBBart van den Burg <bart@burgov.nl>
Date
Nov 18, 2011, 10:54 UTC
Message-ID
<ja5dgo$nlf$1@dough.gmane.org>
Hi

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. I've been trying to figure out what's wrong here for about two days now, but I'm completely lost.

Here's the steps I take to reproduce the problem.
On the server, I can reset the ref to the last working commit:

git@server:~/shifter_rai.git$ echo "cc5693a275c25003edc77b59f5a5c603a857f711" > refs/heads/master

Then, on my local computer, I can clone fine, but after making a commit, it breaks again:

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.06 MiB/s, done. Resolving deltas: 100% (7107/7107), done.

bbu@SIT-WST-05 /d/workspace9 $ cd shifter_rai/

bbu@SIT-WST-05 /d/workspace9/shifter_rai (master) $ echo "test" > test

bbu@SIT-WST-05 /d/workspace9/shifter_rai (master) $ git add test warning: LF will be replaced by CRLF in test. The file will have its original line endings in your working directory.

bbu@SIT-WST-05 /d/workspace9/shifter_rai (master)
$ git commit
[master 85d1ee9] test
warning: LF will be replaced by CRLF in test.
The file will have its original line endings in your working directory.
  1 files changed, 1 insertions(+), 0 deletions(-)
  create mode 100644 test
bbu@SIT-WST-05 /d/workspace9/shifter_rai (master)
$ 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

bbu@SIT-WST-05 /d/workspace9/shifter_rai (master) $ cd ..

bbu@SIT-WST-05 /d/workspace9 $ rm -rf shifter_rai/

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. 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

Can anyone tell me what is happening here, and how I can fix it?
Next: Felipe Contreras
Message 1 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.