IJI-9: safe git config call

This commit is contained in:
Dmitriy.Panov
2018-11-30 11:38:18 +03:00
parent 29ba399365
commit 7135d26a8d
@@ -302,15 +302,19 @@ internal data class CommitInfo(
val repo: File
)
internal fun <T> withUser(repo: File, user: String, email: String, block: () -> T) : T {
val originalUser = execute(repo, GIT, "config", "user.name").removeSuffix(System.lineSeparator())
val originalEmail = execute(repo, GIT, "config", "user.email").removeSuffix(System.lineSeparator())
internal fun <T> withUser(repo: File, user: String, email: String, block: () -> T): T {
val (originalUser, originalEmail) = callSafely {
execute(repo, GIT, "config", "user.name").removeSuffix(System.lineSeparator()) to
execute(repo, GIT, "config", "user.email").removeSuffix(System.lineSeparator())
} ?: "" to ""
return try {
configureUser(repo, user, email)
block()
}
finally {
configureUser(repo, originalUser, originalEmail)
callSafely {
configureUser(repo, originalUser, originalEmail)
}
}
}