我的应用程序使用Mochiweb框架。据我所知,当我运行
我知道将一个git存储库添加到另一个存储库中并不是一个好主意(
make
命令时,rebar
会从Github上获取最新版本,因为在rebar.config
文件中有这样一行代码。{deps, [
{mochiweb, ".*",
{git, "git://github.com/mochi/mochiweb.git", "master"}}
我的应用程序有一个版本控制系统,它是git。因此,本质上我在另一个git存储库中有一个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
我的问题是:在不使用git子模块的情况下,如何将另一个应用程序添加到Erlang应用程序的“deps”中,以便其他开发人员可以轻松更新?