我正在合并包含相同功能的不同版本的源文件。这些功能在不同文件中的顺序不一定相同。例如,foo.c
可能包含baz()
后跟quux()
,而bar.c
包含quux()
后跟baz()
。
我想强制diff
在我正在处理的函数的第一行同步,以便我只能看到该函数的变化。有没有办法用GNU diff
(或另一个diff实用程序)来做到这一点?我有三个解决方法,其中没有一个很好:
将函数复制到单独的文件和diff
这些文件。缓慢而繁琐,加上风险复制和粘贴错误。
将感兴趣的函数移动到每个文件的顶部,然后区分文件。有点容易,但仍然很耗时。
在每个文件前添加一块lorem ipsum文本。 (这是我目前正在使用的那个。)不需要移动代码,但是嘿 - 为什么我必须做工作机器完全有能力做? :)
答案 0 :(得分:1)
split
根本不可行。
一些比较工具可以让你强行匹配所谓的"同步链接",Araxis会这样做(使用Linux上的Wine),比如Beyond Compare。