1

我最近开始了一份新工作,负责开发现有系统。该系统(如果重要的话是 PHP 站点)设置了三个实例。

  • 现场直播(由员工和客户使用)
  • 测试站点(主要用于向工作人员演示功能请求)
  • 开发站点(由以前的开发人员使用)

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

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

4

2 回答 2

1

meld非常适合以向下钻取的方式递归地比较整个文件夹(和文件)。

于 2012-08-10T04:42:17.477 回答
1

公然插头:如果您有兴趣将所有三个站点相互比较(而不是一次比较两个站点),您可能会对我的difdef实用程序感兴趣。它可以产生 N 个目录的合并 à ladiff -r -D但与传统不同diff,它适用于 N>2 以及 N=2。(与它不同diff3的是,它不假设版本之间有任何特定的家谱关系。)

例如你可以做

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

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

difdef没有比传统实用程序更好的 UI,但它确实具有同时区分 2 个以上版本的出色能力。开源、C++、MIT 许可证。diff

于 2012-10-04T17:53:36.453 回答