gitk: Catch mkdtemp errors
[gitweb.git] / gitk
diff --git a/gitk b/gitk
index 41e5071c4bdce3767f7f2782dd97b448fb153022..9237830328d693e5b6baaa2b0f88ed6f2665b5c5 100755 (executable)
--- a/gitk
+++ b/gitk
@@ -3504,7 +3504,9 @@ proc gitknewtmpdir {} {
            set tmpdir $gitdir
        }
        set gitktmpformat [file join $tmpdir ".gitk-tmp.XXXXXX"]
-       set gitktmpdir [exec mktemp -d $gitktmpformat]
+       if {[catch {set gitktmpdir [exec mktemp -d $gitktmpformat]}]} {
+           set gitktmpdir [file join $gitdir [format ".gitk-tmp.%s" [pid]]]
+       }
        if {[catch {file mkdir $gitktmpdir} err]} {
            error_popup "[mc "Error creating temporary directory %s:" $gitktmpdir] $err"
            unset gitktmpdir