egit + github + window / linux party = несовместимо - PullRequest
3 голосов
/ 24 ноября 2011

Я не знаю, если это Github материал ... может быть, нет ...

Сценарий : репозиторий Github с только что созданным одним файлом в одну строку (минимум для проведения теста)

Игроки

  1. Windows 7 + Eclipse + egit.core_1.1.0.201109151100-r (мы пробовали также с последней ночной сборкой)
  2. Linux + Git 1.7.7.3 (мы тоже пробовали с 1.6)

Steps

  1. Любой из игроков создает хранилище с одним файлом и одной строкой в ​​нем. Github показывает правильно вещи. Хэш последнего коммита теперь (например): 1
  2. Linux player меняет строку, фиксирует и толкает Хэш последнего коммита теперь: 2
  3. Windows player тянет ... меняет линию, фиксирует и толкает Хэш последнего коммита теперь: 3
  4. Linux больше не может тянуть, похоже:

    error: unable to find "hash 3"

    fatal: object "hash 3" not found

BUG : С момента, когда проигрыватель Windows нажимает в первый раз, проигрыватели Linux больше не могут тянуть.

Что нужно иметь в виду:

  • github показывает 3 коммита правильно, последний номер 3
  • в linux: git fsck вообще ничего не показывает ...
  • если linux удалит репозиторий и снова его клонирует, он корректно вытянет до «хэша 3»
  • если linux делает сброс в HEAD, он отвечает: HEAD is now at "hash 2"

В некотором роде, linux git знает, что HEAD - это "hash 3", но не может его найти.

Заранее спасибо:)

Последняя показанная команда:

$ 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

Ответы [ 2 ]

1 голос
/ 04 декабря 2011

У меня точно такая же проблема с Zend Studio 9 (на основе Eclipse + EGit).Самое смешное:

  1. После нажатия Windows (EGit) существующее хранилище не может перемещать или извлекать из источника
  2. , если вы пытаетесь клонировать главный репозиторий в совершенно новыйрепозиторий, все отлично работает
  3. файлы в недавно клонированном репо обновлены.Недавно клонированное хранилище может выдвигать и извлекать данные из источника, все работает плавно
  4. «источник» можно клонировать снова и снова, можно извлекать / фиксировать / выдвигать столько, сколько они хотят, и все работает гладко
  5. старые репозитории все еще не могут push / pull
  6. , если вы выполняете push из Windows (EGit), с этого момента новые клоны перестают работать с тем же сообщением об ошибке

Теперь, наверняка, это что-то напортачило в EGit / Windows Git, но, поскольку данные обновляются в «источнике» и клон работает гладко, в конце концов, я считаю, что это ошибка в Git ...

Duccio

0 голосов
/ 04 января 2012

У меня та же проблема.

Работает на машинах с Windows, но работает на сервере, но когда я тяну, я получаю:

ошибка: невозможно найти 9a95b38554e01849e0d2dd0c769dfd9b130aa123, фатальный объект 9a95b38554e01849e0d2dd0c769dfd9b130aa123 не найден

Я обнаружил, что если я создам пустую ветку и нажму на нее, то будет работать pull:

git branch Foobar

git push origin Foobar

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...