gitk's external diff fails when browsing read-only repositories. This is due to gitk's assumption that the current directory is always writable. By honoring TMPDIR we avoid this problem and allow users to define the location used for temporary files. Signed-off-by: David Aguilar <davvid@xxxxxxxxx> --- gitk | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-) diff --git a/gitk b/gitk index db5ec54..a065e94 100755 --- a/gitk +++ b/gitk @@ -3170,11 +3170,15 @@ proc flist_hl {only} { } proc gitknewtmpdir {} { - global diffnum gitktmpdir gitdir + global diffnum gitktmpdir gitdir env if {![info exists gitktmpdir]} { - set gitktmpdir [file join [file dirname $gitdir] \ - [format ".gitk-tmp.%s" [pid]]] + if {[info exists env(TMPDIR)]} { + set tmpdir $env(TMPDIR) + } else { + set tmpdir [file dirname $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 -- 1.6.5.2.180.gc5b3e -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html