From: David Aguilar Date: Fri, 13 Jun 2014 21:13:37 +0000 (-0700) Subject: gitk: Honor TMPDIR when viewing external diffs X-Git-Tag: v2.1.0-rc0~73^2~3 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/c7664f1a8c6d40acf8221ba620a3193dec411f8c gitk: Honor TMPDIR when viewing external diffs gitk fails to show diffs when browsing a read-only repository. This is due to gitk's assumption that the current directory is always writable. Teach gitk to honor either the GITK_TMPDIR or TMPDIR environment variables. This allows users to override the default location used when writing temporary files. Signed-off-by: David Aguilar Signed-off-by: Paul Mackerras --- diff --git a/gitk b/gitk index 68a61dd7eb..c666435204 100755 --- a/gitk +++ b/gitk @@ -3493,10 +3493,17 @@ proc flist_hl {only} { } proc gitknewtmpdir {} { - global diffnum gitktmpdir gitdir + global diffnum gitktmpdir gitdir env if {![info exists gitktmpdir]} { - set gitktmpdir [file join $gitdir [format ".gitk-tmp.%s" [pid]]] + if {[info exists env(GITK_TMPDIR)]} { + set tmpdir $env(GITK_TMPDIR) + } elseif {[info exists env(TMPDIR)]} { + set tmpdir $env(TMPDIR) + } else { + set tmpdir $gitdir + } + set gitktmpdir [file join $tmpdir [format ".gitk-tmp.%s" [pid]]] if {[catch {file mkdir $gitktmpdir} err]} { error_popup "[mc "Error creating temporary directory %s:" $gitktmpdir] $err" unset gitktmpdir