From: Martin von Zweigbergk Date: Tue, 5 Apr 2011 02:14:16 +0000 (-0400) Subject: gitk: Put temporary directory inside .git X-Git-Url: https://privyetmir.co.uk/gitweb.cgi?a=commitdiff_plain;h=929f577e0a648dd1c90b92d8a3f6f1899f2fa0e2;p=gitk gitk: Put temporary directory inside .git When running "External diff" from gitk, the "from" and "to" files will first be copied into a directory that is currently ".git/../.gitk-tmp.$pid". When gitk is closed, the directory is deleted. When the work tree is not at ".git/.." (which is supported since the previous commit), that directory may not even be git-related and it does not seem unlikely that permissions may not allow the temporary directory to be created there. Move the directory inside .git instead. This introduces a regression in the case that the .git directory is readonly, but .git/.. is writeable. Signed-off-by: Martin von Zweigbergk Signed-off-by: Paul Mackerras --- diff --git a/gitk b/gitk index 5d15005..e263b49 100755 --- a/gitk +++ b/gitk @@ -3331,8 +3331,7 @@ proc gitknewtmpdir {} { global diffnum gitktmpdir gitdir if {![info exists gitktmpdir]} { - set gitktmpdir [file join [file dirname $gitdir] \ - [format ".gitk-tmp.%s" [pid]]] + 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