识别修补程序/修补程序的文件

时间:2008-10-31 15:49:23

标签: diff patch

我们(偶尔!)必须为我们的产品发布热修复,并通过直接重新发布受影响的文件而不是使用新的安装程序来执行此操作。该产品有大量的部分,一些托管代码,一些不受管理。

目前,构建工件(exes,dlls)的开发标志需要在hotfix中提供。我们希望能够通过将它们与之前的版本进行比较来自动识别它们。一个简单的二进制差异不起作用,因为所有文件的版本号都已更改为使用新编号标记文件(如果是构建的一部分)。

是否有任何工具可以进行更智能的比较并决定应包含哪些文件?我们仍然有一个开发人员检查列表,这更多的是捕获开发人员没有想到的文件而不是相反。

(注意:更改热修复/构建过程不是一个直接的选择,无论我们是否应该发送单个文件是一个不同的讨论!)

1 个答案:

答案 0 :(得分:1)

这些是我看到的选项:

  • 在构建计算机上获取已更改文件的报告,并使用文件路径的目录结构来确定哪些dll确实已更新。不确定这是否违反了“无构建流程更改”规则。

  • 如果你想等到构建之后我会建议使用像http://www.romeotango.com/Downloads/FileCompReadMe.txt这样的二进制文件差异工具。使用它可以获得一组差异,因此您只需要使用该工具的脚本来忽略由于版本号而发生的差异。您可以通过使用受控方案来确定版本号的显示方式,您可以知道两个二进制文件相同,但版本号除外,并注明差异所在。为你的一些dll做这件事,希望一个模式足够出现,以便你可以编写脚本。