Structured Merge with Auto-Tuning
- Copyright (C) 2013-2014 Olaf Lessenich
- Copyright (C) 2014-2017 University of Passau, Germany
Authors: Olaf Lessenich, Georg Seibt
All rights reserved.
JDime is covered by the GNU Lesser General Public License.
The full license text is distributed with this software. See the LICENSE
file.
JDime uses these tools/libraries:
- ExtendJ (https://bitbucket.org/jastadd/jastaddj)
Commit 85fe215 Copyright (c) 2005-2008, Torbjörn Ekman Copyright (c) 2005-2017, ExtendJ Committers ExtendJ is covered by the Modified BSD License. The full license text is distributed with this software. See the file licenses/ExtendJ-BSD.
The changes that were made to ExtendJ are shipped with this software and covered by the Modified BSD License. See patches/ExtendJ for the changes, and patches/ExtendJ/LICENSE for the license text.
- At least Java 11 for running the Gradle build of JDime
- Java 8 for developing / running JDime. If you are using Gradle to build / run, Gradle will automatically discover / download Java 8.
- If you are not on 64bit Linux or Windows: libgit2 (for JNativeMerge)
Clone the repository using git clone $URL
.
JDime uses Gradle as its build system.
To avoid version mismatches with already installed instances of gradle, you can use the supplied gradle wrapper gradlew
that bootstraps the right version of gradle automatically.
After running ./gradlew installDist
, the directory build/install/JDime/bin
will contain Unix and Windows scripts that you can use to start the application.
The input versions are passed to JDime as command line arguments. To perform a three-way merge, JDime may be invoked as follows:
./JDime --mode [linebased|semistructured|structured] --output [file/directory] <leftVersion> <baseVersion> <rightVersion>
Note that you have to run JDime with the working directory set to the folder containing the Script produced by Gradle.
E.g., using the installDist
task, you need to run JDime from build/install/JDime/bin
.
Run JDime --help
to show more extensive usage information.