我如何比较Linux中的两个源代码树?
我有两个目录包含源文件到一个项目,我通过文档的方式很lessinheritance。 我如何比较这两个目录,看看有什么不同。 谢谢。
你可以试试MELD: http : //meld.sourceforge.net/这是一个很棒的视觉比较工具;-)
尝试这个:
diff -Naur dir1/ dir2/
-
-u
选项使得输出更容易阅读。 -
-r
选项recursion遍历所有子目录 -
-N
和-a
选项实际上只在需要创build补丁文件时才需要。
diff -u -r dirA dirB
将显示在dirA和dirB文件之间的统一recursion差异
你可以在shell中使用diff命令。 或者安装一个像kdiff3的工具
diff命令比较目录一直告诉我,我没有差异,当我知道有差异。
我不是直接使用diff,而是使用md5sums的sorting列表,然后用diff比较这些文件:
find /path1/dir/ -type f -exec md5sum {} + | awk '{print $2 $1}' | sort >! path1.log find /path2/dir/ -type f -exec md5sum {} + | awk '{print $2 $1}' | sort >! path2.log gvimdiff path1.log path2.log
如果path的开始部分引起头痛,则更改它。 selectPath1窗口并键入:
:%s|path1|path2|g
这将在第一个文件中用path2replacepath1的所有实例,现在你的diff应该只显示差异。