如何用自定义共享模块svn / cvs多个项目?

时间:2011-02-28 08:34:42

标签: svn

在我们公司,我们有一些drupal项目,共享一些自定义开发的模块,所以在svn中,我们有这样的目录结构:

project 1
-- sites
-- -- all
-- -- -- modules
-- -- -- -- custom
-- -- -- -- -- my_mod1

project 2
-- sites
-- -- all
-- -- -- modules
-- -- -- -- custom
-- -- -- -- -- my_mod2

现在,我们想在其他项目中共享my_mod1,比如项目2,但是如果我们只是将它复制/添加到svn,就很难维护(重复代码,每个代码都在一个repo上,所以如果我们修改一个,我们需要修改另一个)。

可能理想的情况是拥有自定义模块的中央回购,但我不知道这是否可行,或者如何做,所以,请,我们需要你的帮助;)。

提前致谢!

1 个答案:

答案 0 :(得分:2)

我建议使用 SVN外部

这样,每个工作副本都可以由来自不同存储库的文件组成。

因此,如果您创建了自定义模块的中央存储库,那么在每个项目中,您都可以执行以下操作:

$ svn propset svn:externals "sites/all/modules/custom  
     http://hostname/modulesrepos" .

然后检查/ modulesrepos到sites / all / modules / custom中的目录。如果您为所有项目执行此操作,并将“实时”网站视为工作副本,那么它将始终从“外部”存储库中提取模块。