improved (removed) dependencies
This commit is contained in:
1 parent
485afbbace
commit
86d24c6a9a
4 files changed
+35
-57
No files matched your search
@@ -5,7 +5,6 @@ import dev.gitlive.difflib.patch.AbstractDelta
|
||||
import dev.gitlive.difflib.patch.ChangeDelta
|
||||
import dev.gitlive.difflib.patch.DeleteDelta
|
||||
import dev.gitlive.difflib.patch.InsertDelta
|
||||
import net.sergeych.sprintf.sprintf
|
||||
|
||||
/**
|
||||
* Merge result. This version does not report (yet) conflicts, just merges it all. See also [blocks] for
|
||||
@@ -43,15 +42,6 @@ class MergeResult<T>(
|
||||
}
|
||||
}
|
||||
|
||||
fun toTrace(source: List<T>): String {
|
||||
val r = StringBuilder()
|
||||
r.append(merged.indices.joinToString("") { "%3d".sprintf(it) } + "\n")
|
||||
r.append(merged.joinToString("") { "%3s".sprintf(it) } + "\n")
|
||||
r.append("---- source ----\n")
|
||||
r.append(source.joinToString("") { "%3s".sprintf(it) } + "\n")
|
||||
r.append(sourceIndices.joinToString("") { "%3s".sprintf(it) } + "\n")
|
||||
return r.toString()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -102,23 +92,23 @@ private class Merge3<T>(
|
||||
if (showDebug) println(f())
|
||||
}
|
||||
|
||||
private fun trace() {
|
||||
|
||||
debug { result.indices.joinToString("") { "%3d".sprintf(it) } }
|
||||
debug { result.joinToString("") { "%3s".sprintf(it.toString()) } }
|
||||
debug {
|
||||
changeCount.joinToString("") {
|
||||
when (it) {
|
||||
1 -> " *"
|
||||
0 -> " ."
|
||||
2 -> " !"
|
||||
else -> " !$it"
|
||||
}
|
||||
}
|
||||
}
|
||||
debug { reindex.joinToString("") { if (it < 0) " x" else "%3d".sprintf(it) } }
|
||||
|
||||
}
|
||||
// private fun trace() {
|
||||
//
|
||||
// debug { result.indices.joinToString("") { "%3d".sprintf(it) } }
|
||||
// debug { result.joinToString("") { "%3s".sprintf(it.toString()) } }
|
||||
// debug {
|
||||
// changeCount.joinToString("") {
|
||||
// when (it) {
|
||||
// 1 -> " *"
|
||||
// 0 -> " ."
|
||||
// 2 -> " !"
|
||||
// else -> " !$it"
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// debug { reindex.joinToString("") { if (it < 0) " x" else "%3d".sprintf(it) } }
|
||||
//
|
||||
// }
|
||||
|
||||
private fun findPosition(sourcePosition: Int): Int {
|
||||
var position = if (sourcePosition < reindex.size) reindex[sourcePosition] else reindex.last() + 1
|
||||
@@ -184,7 +174,7 @@ private class Merge3<T>(
|
||||
|
||||
is ChangeDelta<T> -> {
|
||||
deleteAt(delta.source.position, delta.source.size())
|
||||
trace()
|
||||
// trace()
|
||||
insertAt(delta.source.position, delta.target.lines)
|
||||
}
|
||||
|
||||
@@ -197,7 +187,7 @@ private class Merge3<T>(
|
||||
}
|
||||
}
|
||||
debug { "Applied: $delta, result:" }
|
||||
trace()
|
||||
// trace()
|
||||
}
|
||||
|
||||
|
||||
@@ -208,8 +198,7 @@ private class Merge3<T>(
|
||||
debug { "dA: $dA" }
|
||||
debug { "dB: $dB" }
|
||||
|
||||
|
||||
trace()
|
||||
// trace()
|
||||
|
||||
debug { "adding first set" }
|
||||
for (d in dA) {
|
||||
@@ -261,7 +250,7 @@ private class Merge3<T>(
|
||||
}
|
||||
|
||||
else -> {
|
||||
trace()
|
||||
// trace()
|
||||
throw RuntimeException("internal error: invalud change counter @$index:$count")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,22 @@
|
||||
import net.sergeych.merge3.MergeResult
|
||||
import net.sergeych.merge3.merge3
|
||||
import net.sergeych.mp_logger.Log
|
||||
import net.sergeych.sprintf.sprintf
|
||||
import kotlin.test.Test
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
val List<Char>.str: String get() = joinToString("")
|
||||
|
||||
fun <T>MergeResult<T>.toTrace(source: List<T>): String {
|
||||
val r = StringBuilder()
|
||||
r.append(merged.indices.joinToString("") { "%3d".sprintf(it) } + "\n")
|
||||
r.append(merged.joinToString("") { "%3s".sprintf(it) } + "\n")
|
||||
r.append("---- source ----\n")
|
||||
r.append(source.joinToString("") { "%3s".sprintf(it) } + "\n")
|
||||
r.append(sourceIndices.joinToString("") { "%3s".sprintf(it) } + "\n")
|
||||
return r.toString()
|
||||
}
|
||||
|
||||
class BasicTest {
|
||||
@Test
|
||||
fun testMergeNoConflicts() {
|
||||
|
||||
Reference in new issue
Block a user