我如何比较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应该只显示差异。