这是一个似乎半频繁出现的问题,但遗憾的是我还没有找到一个我可以完全适用于我的情况的答案,所以我想我会问自己的问题.这是关于SO的第一个问题,所以要好.:P
"问题": 我们公司开发了多个PHP应用程序,但其中一个应用程序是各种"主".我们所有的其他应用程序都安装在这个"主应用程序"中,并且需要主应用程序才能工作.
当然,我们使用版本控制来管理这些应用程序.
虽然我们的插件应用程序中的许多文件都在子目录中,但并非所有文件都在子目录中.这意味着我们不能使用子目录导入(svn externals,git子模块等).例如,在根文件夹中有几个文件夹(admin,public,kernel等),addon应用程序在一个或多个这些文件夹中有文件 - 它们不是独立自包含在主应用程序的目录结构中.
我们目前使用SVN,最近发现自己正在考虑git,因为我们认为可用的一些功能对我们有用.然而,我不清楚使用git的一件事是,如果真的有一种方法可以在开发人员处理代码时将这些存储库"合并"(不是在版本控制意义上)本地存储到一个目录中.我还没有办法用SVN做到这一点.
在理想的世界中,我们将为我们的"主"应用程序提供一个存储库,其结构如下:
我们的插件应用程序将具有这样的结构(请记住,我们有多个插件应用程序):
我们已经尝试了以下方法,每个方法都有自己的注意事项:
有没有办法使用git或SVN(或任何其他版本控制系统)在单个目录中允许多个存储库而不使用子目录?SVN外部几乎是完美的,但要求外部存储库中的所有文件都在一个单独的子文件夹中,如上所述,这对我们不起作用.我收集git具有相同的功能,但同样不能在一个文件夹中允许多个存储库,这给我们带来了同样的问题.
相关问题: 一个目录(同一级别)中的多个存储库 - 是否可能? - 这与我想的非常接近,但我没有看到任何我认为可以应用于我们情况的解决方案.
Subversion 1.6 和 1.7 允许单个文件的外部。
请参阅http://svnbook.red-bean.com/en/1.7/svn.advanced.externals.html
“Subversion 1.6 还引入了对文件外部定义的支持。文件外部的配置就像目录的外部定义一样,并在工作副本中显示为版本化文件。
例如,假设您的存储库中有文件 /trunk/bikeshed/blue.html,并且您希望该文件(如修订版 40 中所示)以 green.html 的形式出现在 /trunk/www/ 的工作副本中”。
归档时间: |
|
查看次数: |
1022 次 |
最近记录: |