concept47
concept47

Reputation: 31726

git fsck -- full gives no problems but can't push upstream

I have a project of about 7000 files, of which I'm trying to add and commit about 4000 for an initial push upstream

running

 git fsck --full 

returns with no errors but when I do a

git push -u origin master

or

git push origin master

I get an error like this

fatal: loose object 890b67d9a81c0061176d5a9a061cc6437eac283d (stored in .git/objects/89/0b67d9a81c0061176d5a9a061cc6437eac283d) is corrupt
error: failed to push some refs to 'ssh://git@xxxxxxx'

the crazy thing is that the loose object referenced is different each time I run that push command.

and very very occasionally it will actually start pushing the objects upstream before failing midway with this message

Counting objects: 4551, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (4168/4168), done.
fatal: loose object c839cf225383c94e4bb2234fca9f9b8b2d645cde (stored in .git/objects/c8/39cf225383c94e4bb2234fca9f9b8b2d645cde) is corrupt
fatal: early EOF
error: failed to push some refs to 'ssh://git@xxxxxxxx'

I'm at a loss for what to do.

Upvotes: 2

Views: 434

Answers (1)

VonC
VonC

Reputation: 1323115

It could be:

  • a permission issue (ACL too restrictive on .git/object/...)
  • a handle issue (.git/objects/c8/39cf225383c94e4bb2234fca9f9b8b2d645cde somehow already locked by another process)
  • a corruption issue (in which case you need to check if that file is present in another branch (or simply readable on master), and copy it in .git/objects/c8)

Upvotes: 1

Related Questions