Мое приложение использует Mochiweb. Как я понимаю, rebar
выбирает последнюю версию Github, когда я бегу make
, потому что линия в rebar.config
:Git подмодули и арматура
{deps, [
{mochiweb, ".*",
{git, "git://github.com/mochi/mochiweb.git", "master"}}
Мое приложение имеет VCS и это мерзавец. Таким образом, по существу, у меня есть один репозиторий Git внутри другой:
myapp
.git
deps
mochiweb
.git
src
etc
Я знаю, что добавление репозитория Git внутри другой не очень хорошая идея (git add .
). Вместо этого следует использовать функциональные возможности подмодулей Git.
Итак, я добавил каталог deps/mochiweb
в качестве подмодуля в основной репозиторий git.
Проблема заключается в том, что, когда другой разработчик клонирует главный репозиторий он должен init
и update
Подмодули первым, чтобы получить deps/mochiweb
(в противном случае было бы пусто).
Если разработчик просто запускает make
право после того как он клонирует главный репозиторий, то Makefile говорит следующее:
ERROR: Dependency dir deps/mochiweb failed application validation with reason:
{missing_app_file,"deps/mochiweb"}
make: *** [all] Error 1
Мой вопрос: Что такое правильный способ добавления другого приложения к DEPS из Приложение Erlang позволяет легко обновлять другие разработчики без использования подмодулей git?
Проведя почти три дня по этому вопросу, пытаясь нажать на герою. Это, наконец, решило проблему ....... –