繁体   English   中英

SVN中的版本控制

[英]Versioning in SVN

我遇到一种情况,我想跟踪项目中某些文件夹的版本。 假设以下是我的SVN结构

假设分支名称是BRANCH。 目录模式-[TopFolder / SubFolder1 / SubFolder2 ..]

A / A1 / A2 / A3

C
d
Ë
F
G / G1
E / E1 / E2
F

我想确保当我运行位于目录F中的工具时-应该从G,E和C中获取代码。并且不应获取最新的代码,而应该获取受好评的QA代码,即SVN版本对于每个文件夹。

一种解决方案是跟踪受QA认证的G,E和C的svn修订版,然后在运行该工具之前将其修订为该修订版。

另一个解决方案是
1.我创建了一个分支BRANCH_1,该分支具有所有质量检查得到祝福的东西。
2.我从BRANCH_1运行该工具。 因为最新是最伟大的,所以不需要整理任何东西。
3.我觉得我对BRANCH进行了代码更改
4.对BRANCH进行质量检查后,我将BRANCH_1与BRANCH同步。 同步进行中,BRANCH_1将无法使用。

我想听听其他一些更干净,更强大的想法吗? 可能是您不时创建分支的一种。

我想确保当我运行位于目录F中的工具时-应该从G,E&C中获取代码。并且不应获取最新的代码-而是受好评的质量检查代码。

我很难理解您的问题。 但是,您可能需要使用svn:externals将G,E和C目录指向F目录。 您可以(实际上应该)将svn:external指向其他目录的特定修订版。 例如,使用-r选项来指定特定的修订版或指向标签。

这对您有帮助吗?

我看到了使用分支的几种直接方法。

第一个想法是保留两个长期存在的分支机构。 您将在开发人员工作的地方使用“开发”或“ trunk”,并在质量保证工作的地方使用了“发行”或“批准”的东西。 质量检查会定期将更改合并到其分支中,进行测试,如果测试通过,则提交。 然后,只有经过QA批准的更改才能进入“发布”分支,而开发工作仍可以正常进行。 因此,您的脚本始终可以仅提取最新的“发布”分支代码。

第二个想法是有一个“干净的主干”过程。 开发人员所做的每项更改都在新分支上完成。 在将任何更改合并到主干之前,质量检查人员必须测试并批准更改。 因此,您的脚本始终可以仅提取最新的“ trunk”代码。 但是,这可能会导致开发周期大大缩短,并可能导致大量合并,从而增加了引入错误的机会。 因此,除非您有其他理由更喜欢此过程(例如,在提交中继之前需要进行同行评审),否则对您的团队而言可能没有效率。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM