一个项目的DIFF多个版本(Diff multiple versions of a project)

2019-10-17 03:20发布

我最近开始,我已接手开发现有系统的新工作。 该系统(如果它的事项PHP网站)是设置有三个实例。

  • 现场直播(由员工和客户使用)
  • 试验场地(主要用于演示功能要求工作人员)
  • 开发网站(由之前的开发者使用)

这似乎是一个合理的事情(他们没有一个SVN服务器设置)。 但现在,我几个星期中,我注意到,该代码(和数据库架构)在所有三个站点不同。 我希望那里是开发和生活之间的差异,但生活有dev下没有的功能。

我已经运行CLOC ,我看着周围180修改的文件和不同版本之间的110页新的文件。 是否有任何软件或更容易的方法的代码在所有版本进行比较不是仅仅通过文件执行的diff文件?

Answer 1:

meld是极好的递归向下钻取风格比较完整的文件夹(文件)。



Answer 2:

公然插头:如果你有兴趣的版本比较针对对方的所有三个站点(与版本比较它们每次两个),你可能会感兴趣的我difdef效用 。 它可以产生N个目录点菜的合并diff -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 没有比传统的更好的用户界面diff工具,但它确实有这个漂亮的同时diff的超过2个版本的能力。 开源的,C ++,MIT许可证。



文章来源: Diff multiple versions of a project
标签: diff