Skip to content

Commit f62d916

Browse files
feat: add diff3 runner to MergirafAndSepMergeModule experiment
1 parent 4126e67 commit f62d916

4 files changed

Lines changed: 21 additions & 6 deletions

File tree

src/main/services/dataCollectors/MergirafAndSepMergeCollector/MergesCollector.groovy

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@ import interfaces.DataCollector
66
import project.MergeCommit
77
import project.Project
88
import services.dataCollectors.MergirafAndSepMergeCollector.mergeToolRunners.*
9+
import services.dataCollectors.S3MWithCSDiffCollector.mergeToolRunners.Diff3Runner
910
import services.dataCollectors.S3MMergesCollector.MergeScenarioCollector
1011
import services.util.MergeToolRunner
1112

1213
class MergesCollector implements DataCollector {
1314
private static final List<MergeToolRunner> RUNNERS = [
15+
new Diff3Runner(),
1416
new MergirafRunner(),
1517
new SepMergeRunner(false),
1618
new SepMergeRunner(true)

src/main/services/dataCollectors/MergirafAndSepMergeCollector/mergeToolRunners/MergirafRunner.groovy

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,13 @@ class MergirafRunner extends MergeToolRunner {
2020

2121
protected List<String> buildParameters(Path leftFile, Path baseFile, Path rightFile) {
2222
String binaryFileCommand = "./${MERGIRAF_PATH.getFileName().toString()}"
23-
List<String> parameters = [binaryFileCommand, 'merge']
23+
List<String> parameters = [
24+
binaryFileCommand, 'merge',
25+
'-s', DEFAULT_BASE_MARKER_NAME,
26+
'-x', DEFAULT_LEFT_MARKER_NAME,
27+
'-y', DEFAULT_RIGHT_MARKER_NAME
28+
]
29+
2430
parameters.addAll(baseFile.toString(), leftFile.toString(), rightFile.toString())
2531

2632
Path filesQuadruplePath = baseFile.getParent()

src/main/services/dataCollectors/S3MWithCSDiffCollector/mergeToolRunners/Diff3Runner.groovy

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,13 @@ import services.util.MergeToolRunner
77
import java.nio.file.Path
88

99
class Diff3Runner extends MergeToolRunner {
10-
11-
private static final String MERGE_FILE_NAME = "merge"
12-
1310
Diff3Runner() {
1411
this.mergeToolName = 'Diff3'
1512
}
1613

1714
protected ProcessBuilder buildProcess(Path leftFile, Path baseFile, Path rightFile) {
1815
Path filesQuadruplePath = baseFile.getParent()
19-
Path outputPath = getOutputPath(filesQuadruplePath, MERGE_FILE_NAME)
16+
Path outputPath = getOutputPath(filesQuadruplePath, DEFAULT_MERGE_FILE_NAME)
2017

2118
ProcessBuilder processBuilder = new ProcessBuilder()
2219
processBuilder.redirectOutput(outputPath.toFile())
@@ -25,7 +22,14 @@ class Diff3Runner extends MergeToolRunner {
2522
}
2623

2724
protected List<String> buildParameters(Path leftFile, Path baseFile, Path rightFile) {
28-
List<String> parameters = ['diff3', '-E', '-L', 'MINE', '-L', 'BASE', '-L', 'YOURS', '-m']
25+
List<String> parameters = [
26+
'diff3', '-E',
27+
'-L', DEFAULT_LEFT_MARKER_NAME,
28+
'-L', DEFAULT_BASE_MARKER_NAME,
29+
'-L', DEFAULT_RIGHT_MARKER_NAME,
30+
'-m'
31+
]
32+
2933
parameters.addAll(leftFile.toString(), baseFile.toString(), rightFile.toString())
3034
return parameters
3135
}

src/main/services/util/MergeToolRunner.groovy

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ import java.nio.file.Path
77

88
abstract class MergeToolRunner {
99
static String DEFAULT_MERGE_FILE_NAME = 'merge'
10+
static String DEFAULT_BASE_MARKER_NAME = 'BASE'
11+
static String DEFAULT_LEFT_MARKER_NAME = 'MINE'
12+
static String DEFAULT_RIGHT_MARKER_NAME = 'YOURS'
1013

1114
protected String mergeToolName
1215

0 commit comments

Comments
 (0)