Fixing a broken GIT repo

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxxx:/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@xxxxxxxxxxxxxxxx:/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@xxxxxxxxxxxxxxxx:/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?

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]