gitk: Catch mkdtemp errors
105b5d3f ("gitk: Use mktemp -d to avoid predictable temporary directories") introduced a dependency on mkdtemp, which is not available on Windows. Use the original temporary directory behavior when mkdtemp fails. This makes the code use mkdtemp when available and gracefully fallback to the existing behavior when it is not available. Helped-by: Junio C Hamano <gitster@pobox.com> Helped-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
David Aguilar committed
Jun 18, 2014 at 19:53 UTC
ac54a4b7715543a29cf72a49a3dd8add32796e86
1 file changed
+3
-1
gitk
+3
-1
@@ -3504,7 +3504,9 @@ proc gitknewtmpdir {} {
3504
set tmpdir $gitdir
3505
}
3506
set gitktmpformat [file join $tmpdir ".gitk-tmp.XXXXXX"]
3507
- set gitktmpdir [exec mktemp -d $gitktmpformat]
3507
+ if {[catch {set gitktmpdir [exec mktemp -d $gitktmpformat]}]} {
3508
+ set gitktmpdir [file join $gitdir [format ".gitk-tmp.%s" [pid]]]
3509
+ }
3510
if {[catch {file mkdir $gitktmpdir} err]} {
3511
error_popup "[mc "Error creating temporary directory %s:" $gitktmpdir] $err"
3512
unset gitktmpdir