区分项目的多个版本

时间:2012-08-10 04:39:45

标签: diff

我最近开始了一项新工作,我已经接管了现有系统的开发工作。系统(PHP站点,如果重要)设置了三个实例。

  • 实时网站(由员工和客户使用)
  • 测试站点(主要用于向员工演示功能请求)
  • 开发网站(由之前的开发人员使用)

这似乎是一件合理的事情(他们没有SVN服务器设置)。但是现在我已经有几个星期了,我注意到所有三个站点的代码(和数据库模式)都不同。我希望dev和live之间存在差异,但live具有开发者没有的功能。

我已经运行CLOC,我正在查看大约180个修改过的文件和110个不同版本之间的新文件。是否有任何软件或更简单的方法来比较所有版本的代码,而不仅仅是按文件执行差异文件?

2 个答案:

答案 0 :(得分:1)

meld非常适合以深入分析的方式递归地比较整个文件夹(和文件)。

答案 1 :(得分:1)

Blatant plug:如果你有兴趣将所有三个网站相互分开(而不是一次将它们分成两个),你可能会对my difdef utility感兴趣。它可以生成N个目录{la diff -r -D的合并,但与传统的diff不同,它适用于N> 2以及N = 2。 (与diff3不同,它不假设版本之间存在任何特定的谱系关系。)

E.g。你可以做到

difdef -r -DSITE={LIVE,TEST,DEV} {live,test,dev} -o merged
grep -lr 'SITE==' merged | xargs $EDITOR

打开任何两个版本之间不同的每个文件的编辑器窗口。

difdef 有比传统diff实用程序更好的用户界面,但确实具有超过2的差异能力同时版本。开源,C ++,MIT许可证。