mp_diff/README.md

41 lines
1.1 KiB
Markdown

# 3-way merge
Tho tools to make smart merge of two versions of changed original data. See [merge3] function online docs.
## Usage
Add dependency:
~~~kotlin
repositories {
//...
maven("https://gitea.sergeych.net/api/packages/SergeychWorks/maven")
}
~~~
and in the source set dependencies something like
~~~kotlin
dependencies {
// ...
implementation("net.sergeych:mp_diff:0.0.1-SNAPSHOT")
}
~~~
Now call it in the code
~~~kotlin
val src = "Hello world".toList()
val a = "Hello friend".toList()
val b = "Bye world".toList()
val m = merge3(src, b, a)
assertEquals("Bye friend", m.merged.joinToString(""))
println(m.blocks)
~~~
## Acknowledgments
This work is based on the original kotlin diff port https://github.com/GitLiveApp/kotlin-diff-utils work, unfortunatley its packaging is not compatible with current kotlin MP formats so I can't just use it as the dependencies. The wholde `dev.gitlive.difflib` is taken from the link above, where it was published under the [Apache 2.0 license at the moment of borrowing this code](https://github.com/GitLiveApp/kotlin-diff-utils/blob/master/LICENSE).