Svn TFS与颠覆

Svn TFS与颠覆,svn,version-control,tfs,Svn,Version Control,Tfs,我有以下目标: 具有持续集成的共享源代码控制 能够在不影响其他团队成员的情况下检入可能构建或可能不构建的增量更改(即中断更改) 无需几天的工作就可以获得检入增量更改的报告(不是检入事实的报告,而是实际的差异报告-延迟编辑:我现在知道这是一个“统一的差异”) 一种可能的解决方案是使用TFS作为具有持续集成的主要源代码控制,然后在其上使用personal subversion实现来跟踪和检查可能破坏构建的增量更改 我知道TFS有搁置选项,但我不认为TFS有一个很好的签入差异摘要报告(见下文),我也不

我有以下目标:

  • 具有持续集成的共享源代码控制
  • 能够在不影响其他团队成员的情况下检入可能构建或可能不构建的增量更改(即中断更改)
  • 无需几天的工作就可以获得检入增量更改的报告(不是检入事实的报告,而是实际的差异报告-延迟编辑:我现在知道这是一个“统一的差异”)
  • 一种可能的解决方案是使用TFS作为具有持续集成的主要源代码控制,然后在其上使用personal subversion实现来跟踪和检查可能破坏构建的增量更改

    我知道TFS有搁置选项,但我不认为TFS有一个很好的签入差异摘要报告(见下文),我也不知道有什么方法可以轻松地看到搁置集的差异

    因此,问题是:

  • 是否有人知道如何为每个文件获取类似于此的SVN签入报告(或者,就此而言,如何从TFS中获取类似于此的内容):
  • SetErrorMessage(“您输入的浓度无效”); 返回; } -c.浓度=十进制解析(浓度); +十进制数=0; +if(十进制色氨酸(浓度,输出数值)) +c.浓度=十进制解析(浓度); +否则 + { +SetErrorMessage(“无效浓度”); +返回; + } + c、 测量单位=单位;
  • 有人有重叠源代码管理的经验吗

  • 最后,是否有人知道如何仅使用TFS或SVN(或其他)来实现这些目标


  • 感谢您的支持。

    SVN本身可以轻松为您生成这样的差异。svn diff实用程序只需要两个修订,它们可以从svn日志中获得,也可以通过其他机制存储。一种选择是在周五接近尾声的时候标记一些提交,然后从标记中区分出来。另一个选择是grep svn日志中的日期,但这有点不方便

    我没有使用TFS,所以我很抱歉我没有使用它

    看一看。它描述了如何使用它以及它接受的不同参数。

    SVN可以同时执行这两项操作

  • 具有持续集成的共享源代码控制
  • “共享源代码控制”正是SVN所做的

    SVN本身不进行持续集成(CI),但有许多CI服务器与SVN集成良好(CruiseControl、CruiseControl.NET、Jenkins、Hudson…)。在操作系统社区中,座右铭通常是“做一件事,但要做好”,因此SVN不会捆绑CI功能,而只是与您使用的任何CI服务器集成

  • 能够检入可能发生或可能发生的增量更改 非构建(即,中断更改) 不影响其他团队成员
  • 这通常是使用分支完成的。基本上,您创建源代码树的一个(虚拟)副本,然后在那里提交您的更改,与主存储库树(所谓的主干)分开。当您满意时,您可以将分支中的更改集成(“合并”)到主干中

    或者,您可以这样工作,即您的代码总是生成的。我会认为这是一个更好的解决方案。尽管如此,分支对于中断性更改或需要彻底测试的更改仍然是必要的

  • 无需几天的工作,就可以得到一份 签入的增量更改(不是 关于登记入住被取消的事实的报告 制作,但实际的差异报告-迟交 编辑:我现在知道这是一个“统一的” 差异“)

  • 分支列表(通常都位于一个目录中)将为您提供尚未在主干中的各种更改的列表。对于每个分支,您可以使用
    svn diff
    获得到主干的差异(计算分支中的头部和主干中的头部之间的差异)。

    在提交搁置的更改集之前,您为什么要进行差异化?Mitch-我希望看到每天都在进行的工作,以跟上团队正在做的事情,关于从TFS获得统一的差异,这里给出了一些回答:(尽管仍然没有svn中那么简单)。基本上,tf diff/shelveset:/format:unified(但它会将其溢出到命令窗口中,这不是完全有用的)。我对SVN还不够流利,不知道如何修改您描述的SVN diff实用程序-如果您能稍微描述一下,那就太好了。但无论如何,谢谢你的建议。这只是svn diff-rHEAD:101,其中101是你想要的任何修订。或者,如果你做了一个标签,你可以把它放在101的位置,你就可以走了。这本书的低技术版本只是为了记录你上一次的修订是在星期五,以及它们之间的差异。所以,如果上周五是101,而这个周五是150,那么你只需要svn diff-r150:101。这就是你需要做的:)谢谢,恰克!这很有帮助 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;