#ruby #git #grit
#ruby #git #зернистость
Вопрос:
Работаю над проектом ruby / git с использованием Grit, но я не могу обновить свои подмодули программно. Я выяснил, как функция missing_method сопоставляется с git и как использовать ее для выполнения задач, не записанных в grit, однако функция обновления подмодуля, похоже, не работает.
Вот пример моего кода:
git = Grit::Git.new(@repository)
git.pull
pp git.submodule({:quiet => false, :verbose => true, :progress => true}, "update")
ВОЗВРАТ:
""
Заранее спасибо!
Ответ №1:
не знаком с grit, но в обычном git вы бы
git submodule update --init --recursive
Часть инициализации задает удаленный URL в подмодуле. Надеюсь, у вас есть :init => true
и :recursive => true
доступные параметры. Рекурсивный для вас необязательный. Используйте его, если в вашем репозитории подмодулей есть сами подмодули.
Надеюсь, это поможет.
Комментарии:
1. Ввод команды вручную работает просто отлично, однако сценарий, который я написал, предназначен для управления этими аспектами для пользователя и автоматического обновления подмодуля, когда родительский репозиторий устанавливает новый заголовок для подмодуля.
2. Извините, но я пытаюсь сохранить все, что содержится в скрипте ruby, который я уже написал. При необходимости, я полагаю, я могу вручную выполнить команду git, а не использовать встроенный в grit метод для этого.
3. Я понимаю вашу проблему.. Мне интересно, какие еще параметры есть у этого метода подмодуля…
4. Я не думаю, что это проблема с параметрами, это может быть ошибка в grit. Я посмотрю, может быть, сопровождающий сможет ответить на мой вопрос. Хотя спасибо!