Version control 存储库文件夹结构和从该结构自动生成
我们正在工作中升级我们的源代码管理(很可能是Vault),并正在转向分支方法,在确定要使用的文件夹结构时遇到一些问题 我们打算使用主干作为开发线,分支将是一个发行版,并修复该发行版的bug 我们提出了两种文件夹结构,我想知道每种结构的优缺点:Version control 存储库文件夹结构和从该结构自动生成,version-control,build-automation,cruisecontrol.net,branch,Version Control,Build Automation,Cruisecontrol.net,Branch,我们正在工作中升级我们的源代码管理(很可能是Vault),并正在转向分支方法,在确定要使用的文件夹结构时遇到一些问题 我们打算使用主干作为开发线,分支将是一个发行版,并修复该发行版的bug 我们提出了两种文件夹结构,我想知道每种结构的优缺点: Projects |-> Trunk |-> Data Access |-> Business |-> Desktop |-> Website |-> Branches |
Projects
|-> Trunk
|-> Data Access
|-> Business
|-> Desktop
|-> Website
|-> Branches
|-> Branch 01
|-> Data Access
|-> Business
|-> Desktop
|-> Website
及
如果我们在构建机器(cruisecontrol.net)上使用源代码控制块,我们可以说:
<path>$\Projects\trunk\</path>
如果一些项目已经分支,而其他项目没有分支,那么在不存在分支的情况下,如何使其获得主干(如果可能的话)
获取所有主干,然后用分支覆盖是否有效?如果它试图访问一个不存在的分支,它会出错吗?第一种方法非常可靠。您确切地知道要发布什么(因为每个版本都有一个入口点:主干或分支/标签)
我认为第二种方法有几个问题:
两种选择都是可能的,但我认为第一种选择是最简单的,也是最安全的选择。< /P> 因为该网站很可能独立于发行版(如果您是从2007年创建的分支发布的,那么您不会选择2007年的网站,而是2009年的网站)
第一种方法非常可靠。您确切地知道要发布什么(因为每个版本都有一个入口点:主干或分支/标签) 我认为第二种方法有几个问题:两种选择都是可能的,但我认为第一种选择是最简单的,也是最安全的选择。< /P> 因为该网站很可能独立于发行版(如果您是从2007年创建的分支发布的,那么您不会选择2007年的网站,而是2009年的网站)
最后,我编写了一个源代码管理插件(使用Vault的API),以允许我在
标记中指定一些额外内容:
<folder>$/branches/%latest%</folder>
$/branchs/%latest%
将在Branchs文件夹中检索最新的分支。最后,我编写了一个源代码管理插件(使用Vault的API),允许我在
标记中指定一些额外内容:
<folder>$/branches/%latest%</folder>
$/branchs/%latest%
将在Branchs文件夹中检索最新的分支。我更喜欢细粒度、非常有组织、自包含、结构化的存储库。存储库维护过程有一种通用(理想)方法。例如,我的初始存储库结构(每个项目存储库都应该有)是:
我更喜欢细粒度、非常有组织、自包含、结构化的存储库。存储库维护过程有一种通用(理想)方法。例如,我的初始存储库结构(每个项目存储库都应该有)是:
我猜你没有开源插件?我会,但不幸的是我的公司不想-这是公司财产:|我猜你没有开源插件?我会,但不幸的是我的公司不想-这是公司财产:|
Project
|
+- Trunk
Website
|
+- Trunk
<folder>$/branches/%latest%</folder>
/project
/trunk
/tags
/builds
/PA
/A
/B
/releases
/AR
/BR
/RC
/ST
/branches
/experimental
/maintenance
/versions
/platforms
/releases