From 7135d26a8d151fed8bec31fd7eb4a8a6e07e4705 Mon Sep 17 00:00:00 2001 From: "Dmitriy.Panov" Date: Fri, 30 Nov 2018 11:37:38 +0300 Subject: [PATCH] IJI-9: safe git config call --- .../jetbrains/intellij/build/images/sync/gitUtils.kt | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) 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) + } } }