Skip to content

Commit d71b493

Browse files
authored
Merge pull request #198 from jpedroh/fix-unstructured-merge
fix: Copy left file before running unstructured merge
2 parents 1e00670 + aa8b4ab commit d71b493

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

src/main/services/dataCollectors/GenericMerge/UnstructuredMergeCollector.groovy

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import services.mergeScenariosFilters.NonFastForwardMergeScenarioFilter
88
import util.CsvUtils
99
import util.ProcessRunner
1010

11+
import java.nio.file.Files
1112
import java.nio.file.Path
1213

1314
class UnstructuredMergeCollector implements DataCollector {
@@ -30,12 +31,15 @@ class UnstructuredMergeCollector implements DataCollector {
3031
def executionTimes = new ArrayList<Long>()
3132

3233
for (int i = 0; i < GenericMergeConfig.NUMBER_OF_EXECUTIONS; i++) {
34+
// We copy the left file, because git merge-file runs in place, replacing the contents of left file
35+
Files.copy(scenario.resolve("left.java"), scenario.resolve("merge.unstructured.java"))
36+
3337
long startTime = System.nanoTime()
3438

3539
def processBuilder = ProcessRunner.buildProcess(GenericMergeConfig.BASE_EXPERIMENT_PATH,
3640
"git",
3741
"merge-file",
38-
scenario.resolve("left.java").toString(),
42+
scenario.resolve("merge.unstructured.java").toString(),
3943
scenario.resolve("base.java").toString(),
4044
scenario.resolve("right.java").toString())
4145
ProcessRunner.startProcess(processBuilder).waitFor()

0 commit comments

Comments
 (0)