TFS中的统一差异

时间:2009-12-29 22:23:07

标签: tfs

任何人都知道这是否可能(生成一个统一的差异)是否可能,如果是,如何?

感谢。

3 个答案:

答案 0 :(得分:15)

这是tf diff /shelveset:<set> /format:unified。但请注意,与大多数现代版本控制系统不同,TFS实际上无法使用补丁文件。也就是说,您无法获取diff的结果并将其应用于一组文件以获得结果更改。 (大多数人所做的是将已更改的文件压缩并将其替换为“补丁”.Ick。)

答案 1 :(得分:15)

这就是我通常做的事情:

显然,这假定源文件已经签出。如果不是,特别是当您跨分支应用补丁时,编写一个简单的shell脚本来浏览diff文件,获取文件路径并编辑它们。

答案 2 :(得分:0)

这是一个正在进行的功能差异(原谅双关语)和SubVersion等,recognised by Microsoft。我相信很快就会出现一个解决方案,但在此之前我已经提出了一个解决方案:

  1. 构建一个Windows窗体应用程序,它将4个字段作为命令行参数(filepath1,label1,filepath2,label2)并返回两个文件的字符串统一差异(可能输出到富文本框或其他东西) 。我有一个,但我相信,在CodePlex上有点粗糙。有一些托管的Diff库。

  2. 将Visual Studio的Source控件比较功能设置为指向您的差异应用程序。确保它打开并正确比较。

  3. 构建一个Windows窗体补丁应用程序,它将补丁应用于一个文件夹。应用程序还必须在修补时查看每个文件(很有趣!)。

  4. 设置两个工作区,通常的工作区和MyWkSpace_PATCH。这用于补丁。

  5. 我仍然要完成第3点,但这会给我一些与SubVersion类似的功能。会让你知道第3点是怎么回事!