Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 364930

Summary: egit + github + linux/windows players = incompatible
Product: [Technology] EGit Reporter: dantart
Component: CoreAssignee: Project Inbox <egit.core-inbox>
Status: RESOLVED INVALID QA Contact:
Severity: blocker    
Priority: P3 CC: matthias.sohn, pwebster, remy.suen
Version: 1.1   
Target Milestone: ---   
Hardware: PC   
OS: Windows 7   
Whiteboard:

Description dantart CLA 2011-11-28 04:07:06 EST
Build Identifier: 1.1.0.201109151100-r

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

Players:

Windows 7 + Eclipse + egit.core_1.1.0.201109151100-r (we have tried also 1.0.0.201106090707-r and nightly  1.2.0.201111271913.jar)
Linux + Git 1.7.7.3 (we have tried with 1.7.7.2, 1.6.4, 1.6.1 also)

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.

 - github support have answered me is nothing to do with their side ...

FYI, 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

Reproducible: Always

Steps to Reproduce:
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

Linux can't pull anymore, it appears:

error: unable to find "hash 3"

fatal: object "hash 3" not found
Comment 1 dantart CLA 2011-11-28 04:31:37 EST
The repo has been being updated by the windows parties (egit + windows) and now it's about 10 commits further ...

The linux party still have problems to pulling ... the HEAD commit for linux party is still the last one he pushed ... it's like he is not aware of the newest 10 commits !

Once a Windows party pulls something, the repo is totally crashed for the linux parties !

It's a critical bug ... happens with ANY version of git/egit windows and linux parties
Comment 2 Matthias Sohn CLA 2011-12-06 19:21:50 EST
is this a different issue than 364636 ?

Provide a small public repository and step by step instructions how to reproduce.
Comment 3 Kevin Sawicki CLA 2011-12-12 20:29:19 EST
This was discovered to be a bug in CGit when multiple refs in a repo contain: "refs/heads/master" in their full name