基于kohana的项目的源控制结构

时间:2011-08-12 00:17:25

标签: git version-control mercurial kohana-3

我目前有几个使用kohana作为框架的项目,以及我目前所拥有的 是一个像这样的目录结构

project
- application
- system
- modules

“项目”目录在mercurial源代码控制下,我基本上复制并粘贴我使用的模块。并将它们提交给每个项目。

但是我现在发现我修复了一个模块中的错误,没有简单的方法可以使用该模块对所有其他项目进行修复。

我想要做的是以某种方式链接模块,以便我可以在需要时轻松获取更新。 (我一直在寻找subrepos这样做)

现在我在mercurial网站上阅读了这篇文章 “使用瘦外壳存储库来管理子存储库”

https://www.mercurial-scm.org/wiki/Subrepository

所以我提出了这个概念

applications
- application1 (hg repo)
- application2 (hg repo)

mymodules
- mymodule1 (hg repo)
- mymodule2 (hg repo)

project  (hg repo)
- application (sub repo pointing to applications/application1)
- modules (several git repos on github, custom modules which are in mymodules/module1 repos)
- system (git repo on github)

website
- project (links to project repo, including application, modules and system)
- assets (images, css, etc)

现在我认为这是一个很多的结构,而且我对于本质上是一个简单的问题有点过头了。

我也不确定自己应该怎么做。

  1. 在我的网站回购并推回项目,这将被推回到应用程序,模块等

  2. 或者我应该处理应用程序回购并推升到网站级别?

  3. 这是构建事物的最佳方式吗?

    还有必要使用我使用的所有github模块的本地克隆,以加快速度吗?

    任何帮助表示赞赏

1 个答案:

答案 0 :(得分:0)

subrepos解决方案很好,因为它允许分开:

  • 开发结构(由您的所有回购组成)
  • 部署结构(即您的程序编译和运行所需的结构,或者您的网站正确显示)

如何使其有效意味着您如何组织发布管理流程 您应该从您的存储库进行修改,然后将它们传播到部署结构(通过项目中的更新,然后在网站内更新项目)。