diff --git a/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/sync/gitUtils.kt b/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/sync/gitUtils.kt index c18ede7e5556..78db3cb1d42a 100644 --- a/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/sync/gitUtils.kt +++ b/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/sync/gitUtils.kt @@ -302,15 +302,19 @@ internal data class CommitInfo( val repo: File ) -internal fun 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 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) + } } }