我是化石(和CVS配置)新手,试图为Delphi项目创建和管理一组分布式化石存储库。

我的开发机上有以下目录树:

 Projects
     Some Project
     Delphi Components
        LookupListView
     Some Client
        Some Project For Client
        Some Other Project For Client
           Source Code
               Project Resources
               Project Database

我正在设置化石版本控件,以便为版本和共享项目某些客户 client source代码的其他项目,其中包含数据库项目的Delphi 2010 Source。

该项目利用项目 delphi组件 lookuplistView是Delphi组件。我需要将此代码包含在我项目的版本控制系统中。从理论上讲,我将来还需要将其包括在其他化石存储库中。

如果我在源代码或客户级的其他项目中创建我的化石存储库,则无法将其上述任何代码添加到我的存储库中。处理此问题的正确方法是什么?我发生的两种解决方案是

1)为LookUplistView创建一个单独的存储库,并确保每个使用存储库来引用其“知道”的项目的每个人也必须获得该项目的当前版本。这似乎打败了能够通过单个结帐获得项目的完整,当前版本的目的。由于此项目中还有其他常见的组件依赖性,因此问题之所以放大。

2)在项目目录中建立我的化石存储库,因此我可以检查各个子文件夹的文件。在我看来,这在进行添加时似乎涉及很多额外的途径类型,并且还将我的目录结构(某些客户端 client for Client source)强加于存储库的其他用户 - 在这种情况下,在这种情况下,实际客户端。

任何建议都赞赏。

有帮助吗?

解决方案

我使用git,但是我的方法可以在您的情况下采用。

我有一个用于所有组件文件夹的存储库。这使我能够仅使用几个控制台命令来获取所有操作(如果我重新安装我的操作系统或转到另一台计算机等)。

另外,我每个项目都有一个存储库。如果某些项目使用第三方控件,则我创建“组件”子文件夹并执行符号链接(连接)设置的每个组件。

这种方法有一些缺点(当您在某些项目的历史上“返回”时,组件也可以修改。如果许多项目使用相同的组件,这可能会导致一些麻烦)。但是我还没有问题:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top