in bunch-cli/src/main/kotlin/org/jetbrains/bunches/reduce.kt [133:158]
fun doReduce(settings: Settings) {
if (settings.action == ReduceAction.COMMIT) {
uncommittedChanges(settings.repoPath).checkAndExitIfNeeded {
exitWithError(UNCOMMITTED_CHANGES_MESSAGE)
}
}
val files = getReducibleFiles(settings.repoPath, settings.bunchPath)
if (files.isEmpty()) {
print(EMPTY_REDUCE_MESSAGE)
return
}
if (settings.action == ReduceAction.PRINT) {
files.sort()
for (file in files) {
println(File(settings.repoPath).absoluteFile.toPath().relativize(file.absoluteFile.toPath()))
}
return
}
assert(settings.action == ReduceAction.DELETE || settings.action == ReduceAction.COMMIT)
deleteReducibleFiles(settings, files)
}