我是一个Fossil (和CVS配置)新手,试图为一个Delphi项目创建和管理一组分布式Fossil存储库。
我的开发机器上有以下目录树:
Projects
Some Project
Delphi Components
LookupListView
Some Client
Some Project For Client
Some Other Project For Client
Source Code
Project Resources
Project Database我正在设置Fossil版本控制,以便为客户端\源代码的项目\一些客户端\其他项目进行版本控制和共享,其中包含一个数据库项目的Delphi 2010源代码。
这个项目使用了Projects\Delphi Components\LookupListView,这是一个Delphi组件。我需要在我的项目版本控制系统中包含此代码。从理论上讲,我将来也需要把它包含在其他的化石资源库中。
如果我在客户端级的源代码或其他项目中创建我的Fossil存储库,我不能将任何高于该级别的代码添加到我的存储库。处理这个问题的正确方法是什么?我想到的两个解决方案是
1)为LookupListView创建一个单独的存储库,并确保为引用该存储库的项目使用该存储库的每个人都“知道”,他们也必须获得该项目的最新版本。这似乎违背了能够通过一次签出获得项目的完整、当前版本的目的。这个问题被放大了,因为在这个项目中还有其他常见的组件依赖项。
2)在项目目录中建立我的Fossil存储库,这样我就可以签入各个子文件夹中的文件。在我看来,在进行添加时,这似乎涉及到大量额外的路径键入,并且还将我的目录结构(一些Client\Some For Client\Source)强加给存储库的其他用户--在本例中是实际的客户端。
如有任何建议,欢迎光临。
发布于 2010-04-30 13:37:48
我使用Git,但我的方法可以应用于您的情况。
我的所有组件文件夹都有一个存储库。这使我能够仅用几个控制台命令就能获得所有这些命令(以防我重新安装操作系统或转到另一台计算机等情况下)。
另外,我的每个项目都有一个存储库。如果某些项目使用第三方控件,我会创建" components“子文件夹,并对每个组件集进行符号链接(junctions)。
这种方法有一些缺点(当你“回到”某些项目的提交历史时,组件也可以被修改。如果许多项目使用相同的组件,这可能会带来一些麻烦)。但我还没有遇到任何问题:)
https://stackoverflow.com/questions/2731615
复制相似问题