我最近开始了一份新工作,负责开发一个现有的系统。系统(PHP站点,如果有关系的话)是用三个实例设置的。
这似乎是一个合理的做法(他们没有SVN服务器设置)。但是,现在我已经进入了几个星期,我注意到所有三个站点的代码(和数据库模式)都是不同的。我希望dev和live之间会有区别,但是live有dev没有的特性。
我已经运行了CLOC,我正在查看不同版本之间大约180个修改的文件和110个新文件。有没有软件或更简单的方法来比较所有版本的代码,而不仅仅是逐个文件执行差异?
meld
非常适合以向下钻取的方式递归比较整个文件夹(和文件)。
公然插入:如果您有兴趣将所有三个站点相互区分(而不是一次将它们区分为两个),您可能会对我的difdef
实用程序感兴趣。它可以产生N个目录的合并
你可以这样做
difdef -r -DSITE={LIVE,TEST,DEV} {live,test,dev} -o merged
grep -lr 'SITE==' merged | xargs $EDITOR
在任何两个版本之间不同的每个文件上打开编辑器窗口。
difdef
没有比传统的diff
实用程序更好的UI,但它确实具有同时区分两个以上版本的出色功能。开源,C,MIT许可证。