Windows 上有许多不错的 GUI 差异工具(我使用 Araxis Merge 和 kDiff3),但它们中没有一个(我能找到的)会应用补丁文件。我希望它像这样工作:我在工具中打开一个基本文件和一个补丁。我应该得到一个差异视图,左侧是基本文件,右侧是应用补丁后的文件。然后我可以将结果文件保存在某个地方(可能是在清除冲突之后)。
这似乎是一件显而易见的事情,我很震惊,我现有的工具竟然没有做到这一点。这个功能是否存在(适用于 Windows?)
答案1
我同意,现有的 GUI 差异程序中很少有能够创建或应用补丁的程序,这是非常奇怪的,我不知道有哪个程序可以同时完成这两项功能。
TortoiseMerge 可以应用统一差异。它是一个独立程序,是 TortoiseSvn 的一部分,或者如果您不想要整个 Svn 包,您可以单独获取 TortoiseDiff 和 TortoiseMerge这里。
使用起来有点麻烦。启动它并选择“统一差异”,然后它需要一个补丁文件的路径和一个它希望找到要修补的文件的目录路径(我认为这是因为它希望对版本控制的文件进行操作)。然后它会打开主视图,在一个奇怪的小窗口中显示要修补的文件,您必须双击该文件才能查看修补结果,然后您可以将其保存到原始文件或新文件中。
或者你可以从命令行启动它,如下所示:
C:\Users\Bob\>tortoisemerge /mine:file1.txt /diff:patch2.diff /patchpath:"C:\Users\Bob"
这应该可以很容易地从批处理文件或 shell 扩展启动。
答案2
您可以使用此补丁实用程序的 Win32 本机端口。它附带了更多其他实用程序,与 cygwin 和类似程序相比,它不需要任何 DLL。只需选择您喜欢的微型可执行文件并将其存储在您想要的任何位置即可。
用法:
patch.exe -i [filename]
获取帮助:
patch.exe --help
答案3
WinMerge 具有创建补丁功能,在 Windows 上运行良好。