3

I don't know if it's a Github stuff ... maybe not ...

Scenario: Github repo with just created with one file of one line (the minimum to do the test)

Players:

  1. Windows 7 + Eclipse + egit.core_1.1.0.201109151100-r (we have tried also with the last nightly build)
  2. Linux + Git 1.7.7.3 (we have tried with 1.6 also)

Steps:

  1. Any of players create the repository with one file and one line in it. Github shows correctly the stuff. The last commit hash is now (for example): 1
  2. Linux player changes the line, commits and pushes The last commit hash is now: 2
  3. Windows player pulls ... changes the line, commits and pushes The last commit hash is now: 3
  4. Linux can't pull anymore, it appears:

    error: unable to find "hash 3"

    fatal: object "hash 3" not found

BUG: Since the moment Windows player pushes the first time, the Linux players can't pull anymore.

Things to have in mind:

  • github shows the 3 commits correctly, the last one the number 3
  • in the linux: git fsck shows nothing at all ...
  • if the linux delete the repo and clone it again, it pulls correctly up to "hash 3"
  • if the linux do a reset to HEAD, it responds: HEAD is now at "hash 2"

In some way, linux git knows the HEAD is "hash 3", but it can't find it.

Thank you in advance :)

The last command shown:

$ git pull
remote: Counting objects: 13, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 9 (delta 2), reused 6 (delta 0)
Unpacking objects: 100% (9/9), done.
error: unable to find a11bcd8a714678038f504a107aa008a00a4e1e52
fatal: object a11bcd8a714678038f504a107aa008a00a4e1e52 not found
FlamingMoe
  • 2,709
  • 5
  • 39
  • 64
  • 1
    Can you rephrase this a little. As it is phrased, it's not easy to understand. – Noufal Ibrahim Nov 24 '11 at 10:17
  • Can you show us *the actual commands being run*, and *the actual error messages produced*? – larsks Nov 24 '11 at 14:13
  • http://stackoverflow.com/questions/4111728/how-do-i-deal-with-corrupted-git-object-files and http://stackoverflow.com/questions/4864740/github-repo-corruption-sha1-collision are a bit similar, but not exactly the same – VonC Nov 24 '11 at 22:31
  • Hi VonC ... the thing is that there's nothing corrupted ... and fsck command shows no problems at all :P – FlamingMoe Nov 25 '11 at 00:08
  • If you create a new empty branch and push it to the server, can you then pull in Linux? `git branch Foo && git push origin Foo`. – Tower Jan 04 '12 at 08:00

2 Answers2

1

I'm having the same exact problem with Zend Studio 9 (based on Eclipse + EGit). The "funny" thing is:

  1. After a Windows (EGit) push, existing repo cannot push or pull from origin
  2. if you try to clone the master repository to a completely new repository, everything works fine
  3. the files in the newly cloned repo are up-to-date. The newly cloned repo can push and pull from the origin, everything work smootly
  4. the "origin" can be cloned again and again, can pull/commit/push as much as they want and everything works smoothly
  5. the older repositories still cannot push/pull
  6. if you do a push from Windows (EGit), from that moment on also the new clones stop working with the same error message

Now, for sure it's something screwed up by EGit/Windows Git, but since the data is up-to-date in the "origin" and the clone works smoothly, in the end I believe it's a git bug...

Duccio

Duccio
  • 143
  • 2
  • 7
0

I have the same issue.

Pushing and pulling work among Windows machines, but on the server when I pull, I get:

error: unable to find 9a95b38554e01849e0d2dd0c769dfd9b130aa123 fatal: object 9a95b38554e01849e0d2dd0c769dfd9b130aa123 not found

I found out that if I create an empty branch and push it, then pull will work:

git branch Foobar

git push origin Foobar

Tower
  • 98,741
  • 129
  • 357
  • 507