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