Files
GitJournal/lib/utils/merge_conflict_resolver.dart
Vishesh Handa ec959ebbed Add a helper file to resolve merge conflicts
I'm not sure how to integrate this into our merging code.
2020-01-27 23:28:13 +01:00

37 lines
862 B
Dart

import 'dart:convert';
String resolveMergeConflict(String fileContents) {
var lines = const LineSplitter().convert(fileContents);
var newLines = <String>[];
var inMergeConflict = false;
var seenStartMarker = false;
var seenMiddleMarker = false;
lines.forEach((line) {
if (line.startsWith("<<<<<<<") && !inMergeConflict) {
inMergeConflict = true;
seenStartMarker = true;
return;
}
if (line == "=======" && inMergeConflict && seenStartMarker) {
seenMiddleMarker = true;
return;
}
if (line.startsWith(">>>>>>>") && inMergeConflict && seenMiddleMarker) {
inMergeConflict = false;
seenStartMarker = false;
seenMiddleMarker = false;
return;
}
if (inMergeConflict && seenMiddleMarker) {
return;
}
newLines.add(line);
});
return newLines.join('\n');
}