Cygwin «git clone» дает «удаленный конец, неожиданно зависший» против Ubuntu 10.04.1 - PullRequest
1 голос
/ 20 сентября 2010

Я сейчас выясняю, как заставить Eclipse (Windows 7) работать с нашим недавно перенесенным git-репозиторием CVS, который я поместил в gitosis на хосте Ubuntu 10.04.1 LTS. Все программное обеспечение устанавливается с помощью apt-get (git, gitosis и т. Д.).

Eclipse с egit зависает при попытке проверить, поэтому я играю с клиентами командной строки. У Cygwin есть git и openssh, так что я бы хотел, чтобы это работало как минимум (тогда мы можем использовать Eclipse против локальной копии). Чтобы сделать только babysteps, я клонировал репозиторий gitosis на другом хосте Ubuntu с большим количеством дискового пространства и попытался клонировать его на моем Windows-компьютере.

Я получаю следующее сообщение об ошибке, которое немного озадачивает меня:

tra@TRA /cygdrive/c/Users/tra/git
$ git clone ravn@10.49.160.91:/home/ravn/cvs2git/git00
Cloning into git00...
Enter passphrase for key '/home/tra/.ssh/id_rsa':
remote: Counting objects: 64045, done.
remote: Compressing objects: 100% (17965/17965), done.
fatal: The remote end hung up unexpectedly.98 MiB | 8.21 MiB/s
fatal: early EOFs:  98% (62852/64045), 310.98 MiB | 8.21 MiB/s
fatal: index-pack failed

git - это 1.7.0.4 в Ubuntu и 1.7.2.3 в Cygwin. scp и sftp работают хорошо.

Есть ли какой-нибудь трюк вуду, который мне нужно знать, чтобы сделать эту работу?

Ответы [ 3 ]

1 голос
/ 03 февраля 2011

Я думаю, что столкнулся с той же проблемой. Для меня было решено использовать Cygwin Git с PuTTY для ssh вместо Cygwin ssh.

Я попробовал обходной путь PuTTY из-за информации в этой ветке списка рассылки Cygwin:

Этот почтовый поток Cygwin, похоже, также указывает на некоторую проблему в Cygwin / OpenSSL / Git для Git версии 1.7.1 (я нахожусь на Git 1.7.3.3, поэтому проблема может охватывать несколько версий):

Если у вас уже была рабочая конфигурация Cygwin Git + Cygwin ssh, вам может не потребоваться начинать с нуля. То, что работало для меня, было

  1. Загрузите puttygen.exe, plink.exe, pageant.exe и putty.exe с веб-сайта PuTTY.
  2. Запустите puttygen.exe, чтобы преобразовать существующий закрытый ключ Cygwin .ssh в закрытый ключ PuTTY .ppk, а затем сохраните его где-нибудь.
  3. Запустите pageant.exe, загрузите закрытый ключ PuTTY и авторизуйтесь.
  4. Затем запустите putty.exe для ssh на хостах, к которым вы хотите получить доступ из Git, чтобы вы могли сохранить хост в список известных хостов ssh в реестре Windows
  5. Наконец, вам нужно настроить Git для использования PuTTY вместо Cygwin ssh. Для этого установите переменную окружения GIT_SSH так, чтобы она указывала на исполняемый файл plink.exe. Например, export GIT_SSH=/cygdrive/c/somedirectory/plink.exe

НТН

1 голос
/ 20 сентября 2010
  • Сначала вы должны опубликовать свой открытый ключ ssh в файле 10.49.160.91:/home/ravn/.ssh/authorized_keys, чтобы больше не вводить вашу фразу-пароль.

  • Вторая ошибка такого родаобычно происходит в среде взаимодействия с файлами с одинаковыми именами, но с другим регистром.
    Можете ли вы проверить, есть ли у вас такая проблема здесь.

Убедитесь, что:

В качестве альтернативы (как выяснил OP Thorbjørn), попробуйте git checkout из msysgit версии , основанной на mingw (вместо git, поставляемого с cygwin)

0 голосов
/ 13 мая 2011

Как вы создали свои ключи?

Использовали ли вы cygwin из оболочки, похожей на cygwin, или использовали mingw git из оболочки, похожей на git bash?

Я считаю, что настоящая проблемаssh в Cygwin ищет .ssh в /home/name/.ssh, а git ssh в mingw ищет .ssh в c: / user / name /. ssh

Скорее всего, ваши ключи находятся в одном и только одном из этих каталогов.

Вы можете попытаться указать cygwin .ssh использовать другой файл идентификации с помощью ключа -i, или переместить ключи в оба каталога, илисоздать файл конфигурации ssh в /home/name/.ssh/config.

Я создал конфигурацию, которая содержит:

Host github.com
    User jerryasher
    Hostname github.com
    IdentityFile c:/Users/jerry/.ssh/id_rsa

И учитывая, что я могу использоватьлибо mitw git из git bash, либо git cygwin из rxvt для взаимодействия с github.

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