Почему не удается обновить подмодуль git? - PullRequest
8 голосов
/ 05 октября 2011

У меня есть следующий .gitmodules файл:

[submodule "web/blog"]
    path = web/blog
    url = git://amygdala.servebeer.com:lucky_blog.git

[submodule "web/old"]
    path = web/old
    url = git://amygdala.servebeer.com:old_lucky.git

Когда я клонирую репо и запускаю git submodule init && git submodule update (или git submodule init --update), я получаю следующую ошибку:

Cloning into web/blog...
fatal: Unable to look up  (port 9418) (Name or service not known)
Clone of 'git://amygdala.servebeer.com:lucky_blog.git' into submodule path 'web/blog' failed

Я наблюдаю три вещи, которые вызывают некоторую обеспокоенность:

  1. Вторая .gitmodules запись (веб / старая) клонирована просто отлично, без проблем.
  2. Кажется, что естьдополнительный пробел в сообщении об ошибке, где я думаю, что git обычно перечисляет имя хоста, которое он не может найти (прямо перед перечислением номера порта в приведенной выше ошибке).
  3. git clone git://amygdala.servebeer.com:lucky_blog.git работает просто отлично.

Что не так с этим репо?Это ошибка с git или я что-то испортил при настройке репо?

Edit Вот мой конфиг git для справки:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@amygdala.servebeer.com:luckybead.git
[branch "master"]
    remote = origin
    merge = refs/heads/master
[submodule "web/blog"]
    url = git://amygdala.servebeer.com:lucky_blog.git
[submodule "web/old"]
    url = git://amygdala.servebeer.com:old_lucky.git

1 Ответ

11 голосов
/ 05 октября 2011

У вас есть формат ваших URL-адресов git , который немного ошибочен - вы должны отделить хост от пути с помощью / вместо :.Попробуйте изменить URL-адреса на:

git://amygdala.servebeer.com/lucky_blog.git
git://amygdala.servebeer.com/old_lucky.git

. Вам не только нужно зафиксировать эти изменения на .gitmodules, но и изменить конфигурацию с помощью:

$ git config submodule.web/blog.url git://amygdala.servebeer.com/lucky_blog.git
$ git config submodule.web/old.url git://amygdala.servebeer.com/old_blog.git

... иубедитесь, что подмодули повторно клонированы, удалите их и попробуйте снова git submodule update.

...