我最近开始了一份新工作,负责开发一个现有的系统。系统(PHP站点,如果有关系的话)是用三个实例设置的。
这似乎是一个合理的做法(他们没有SVN服务器设置)。但是,现在我已经进入了几个星期,我注意到所有三个站点的代码(和数据库模式)都是不同的。我希望dev和live之间会有区别,但是live有dev没有的特性。
我已经运行了CLOC,我正在查看不同版本之间大约180个修改的文件和110个新文件。有没有软件或更简单的方法来比较所有版本的代码,而不仅仅是逐个文件执行差异?
公然插入:如果您有兴趣将所有三个站点相互区分(而不是一次将它们区分为两个),您可能会对我的difdef
实用程序感兴趣。它可以产生N个目录的合并
你可以这样做
difdef -r -DSITE={LIVE,TEST,DEV} {live,test,dev} -o merged
grep -lr 'SITE==' merged | xargs $EDITOR
在任何两个版本之间不同的每个文件上打开编辑器窗口。
difdef
没有比传统的diff
实用程序更好的UI,但它确实具有同时区分两个以上版本的出色功能。开源,C,MIT许可证。
meld
非常适合以向下钻取的方式递归比较整个文件夹(和文件)。
问题内容: 我知道对于经验丰富的编码人员来说,这可能是一个愚蠢的问题。但是我有一个库(http客户端),我的项目中使用的其他一些框架/jar也需要。但它们都需要不同的主要版本,例如: 类加载器是否足够智能以某种方式将它们分开?很有可能不是吗?万一所有三个jar中的Class都相同,Classloader如何处理这个问题。加载哪一个?为什么? Classloader是仅拾取一个jar还是将其任意混合
null 项目包括Kotlin 某些库包括Kotlin 在选项2中,我得到下一个警告: w:类路径中的运行时JAR文件应该具有相同的版本。这些文件位于类路径:/.gradle/caches/transforms-2/files-2.1/ab41544fa06f7b55dec847efe3b9899c/jetified-kotlin-stdlib-jdk7-1.3.71.JAR(版本1.3).gra
问题内容: 我在Eclipse中有一个项目,现在我想导入另一个名称不同且位置不同但结构相同的项目(相同的软件包,很多相同的类…),但是当我尝试导入它时,它说:“某些项目无法导入,因为它们已经存在于工作空间中”。如果我想同时拥有一个项目的两个版本,该怎么办?我应该改变什么?谢谢。 问题答案: 由于项目在.project文件中将具有相同的项目名称,因此eclipse不允许将它们导入到工作区中。 打开项
问题内容: 我有一个项目,其中有两个使用sqlline的单独模块和另一个依赖jline的库(例如OtherLib)。但是在不同版本上。 Module1使用Sqlline取决于 jline 2.10 Module2使用OtherLib取决于 jline 0.9.94 并且这两个版本不兼容。因此,我设置了类路径,以便Module1首先在 $ HOME / lib / module1 文件夹中搜索,而M
我正在使用java-8进行多个Spring boot项目,但现在其中一个需要转移到java-11。所以我需要在笔记本电脑上安装两个版本。那么如何在同一台机器上为不同的项目处理不同的JAVA版本呢?
我有一个稳定的颤振通道SDK,位于c:\flutter。它在系统环境变量中设置为Flutter的默认路径。 在IntelliJ中为我们的客户创建新的Flutter项目时,我使用了这条路径c:\flutter。 我还在c:\flutter_master下载了颤振主频道,我需要将此颤动SDK(主)用于另一个项目。 对于不同的项目,我如何才能在同一设备上正确拥有两个工作颤振版本,而无需每次都使用系统环境
有什么方法可以使用两个不同的配置文件在settings.xml文件执行两个不同的构建在不同的服务器上?例如:在我的settings.xml文件中,我有两个配置文件: 现在,我想要一个项目的“test1”配置文件和另一个项目的“test2”,我希望我的pom.xml构建属性从settings.xml配置文件的属性中获取。 如果我将两个概要文件都保存在“activeProfiles”中,那么我的两个项
问题内容: 我有一个Java项目正在使用两个导入的具有相同类()的jar 。导入类时,有没有一种方法可以明确说明要使用哪个jar?使用: 似乎按照构建路径顺序的顺序使用该类,但是由于某种原因,似乎并非如此 在运行时。我正在Eclipse中构建项目。 问题答案: 您不能仅在Java源代码中执行所要求的操作。Java不是为此而设计的。 这是一种糟糕的情况,只有使用自定义类加载器才能可靠地处理它们,每个