# 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).