我有以下目标:
一种可能的解决方案是使用TFS作为主要源控件并进行持续集成,然后使用个人subversion实现来跟踪和检查可能破坏构建的增量更改。
我知道TFS有搁置选项,但我不认为TFS有一个很好的签到差异摘要报告(见下文),也没有我知道的方法可以轻松看到搁置的差异。
所以,问题是:
SetErrorMessage("You have entered an invalid concentration."); return; } - c.Concentration = decimal.Parse(concentration); + decimal num = 0; + if (decimal.TryParse(concentration, out num)) + c.Concentration = decimal.Parse(concentration); + else + { + SetErrorMessage("Invalid concentraion."); + return; + } + c.UnitOfMeasure = units;
有没有人有重叠源控制的经验?
最后,有没有人知道如何仅使用TFS或仅使用SVN(或其他东西)来实现这些目标?
感谢您的任何意见。
答案 0 :(得分:4)
SVN可以做到这两点。
- 持续集成的共享源代码管理
醇>
“共享源控制”正是SVN所做的。
SVN本身不进行持续集成(CI),但有许多CI服务器可以与SVN(CruiseControl,CruiseControl.NET,Jenkins,Hudson ......)很好地集成。在OS社区中,座右铭通常是“做一件事,但做得好”,因此SVN不捆绑CI功能,而只是与您使用的任何CI服务器集成。
- 检查可能或可能的增量更改的功能 不构建(即,破坏变化) 而不影响其他团队成员
醇>
这通常使用 branches 来完成。基本上,您创建源树的(虚拟)副本,然后在那里提交您的更改,与主存储库树(所谓的 trunk )分开。当您满意时,将您的分支中的更改集成(“合并”)到主干中。
或者,您可以使用代码始终构建。我实际上会认为这是一个更好的解决方案:-)。尽管如此,分支对于破坏性变更或需要彻底测试的变更仍然是必要的。
- 能够在没有工作日的情况下获得报告 签入的增量更改(不是 办理登机手续的事实报告 制作,但实际差异报告 - 迟到 编辑:我现在知道这是一个“统一的 差异“)
醇>
分支列表(通常位于一个目录中)将为您提供尚未在主干中进行的各种更改的列表。对于每个分支,您可以使用svn diff
来获取到主干的差异(计算分支中HEAD和主干中HEAD之间的差异)。
答案 1 :(得分:1)
SVN本身可以轻松为您生成这样的差异。 svn diff实用程序只需要两个修订版本,可以从svn log获得,也可以通过其他机制存储。一种选择是在星期五的一天结束时标记一些提交,然后从该标记到HEAD的差异。另一种选择是将svn日志grep为日期,但这有点hacky。
我没有使用TFS,所以我很抱歉我没有使用它。
答案 2 :(得分:0)
看看the documentation for svn diff
。它描述了如何使用它以及它接受的不同参数。