diff options
author | David Aguilar <davvid@gmail.com> | 2014-06-13 14:13:37 -0700 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2014-06-15 11:35:50 +1000 |
commit | c7664f1a8c6d40acf8221ba620a3193dec411f8c (patch) | |
tree | 081a5426d39ec6de2a0239b92034ec52daa4d712 | |
parent | 17f9836c8afc8d4b6d6bb91fd0658df090d75c8f (diff) | |
download | git-c7664f1a8c6d40acf8221ba620a3193dec411f8c.tar.gz |
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 <davvid@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
-rwxr-xr-x | gitk | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -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 |