threads / patch / 36960

patchgitk: catch mkdtemp errors

Subject: [PATCH] gitk: catch mkdtemp errors

## tl;dr

7 messages between Jun 19, 2014 and Jun 27, 2014. Diffs are folded; open one to read it.

replies: 6people: 3as markdown or json

David Aguilar· Jun 19, 2014, 02:53 UTC · lore

105b5d3fbb1c00bb0aeaf9d3e0fbe26a7b1993fc 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>
---
 gitk | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
Show changes to gitk +3 −1
diff --git a/gitk b/gitk
index 41e5071..9237830 100755
--- a/gitk
+++ b/gitk
@@ -3504,7 +3504,9 @@ proc gitknewtmpdir {} {
 	    set tmpdir $gitdir
 	}
 	set gitktmpformat [file join $tmpdir ".gitk-tmp.XXXXXX"]
-	set gitktmpdir [exec mktemp -d $gitktmpformat]
+	if {[catch {set gitktmpdir [exec mktemp -d $gitktmpformat]}]} {
+	    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
-- 
2.0.0.257.g75cc6c6
Junio C Hamano· Jun 26, 2014, 20:42 UTC · re: David Aguilar · lore

Re: [PATCH] gitk: catch mkdtemp errors

David Aguilar <davvid@gmail.com> writes:
Show 11 quoted lines
> 105b5d3fbb1c00bb0aeaf9d3e0fbe26a7b1993fc 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>
> ---
Does this still need to be applied before I can pull from Paulus?
Show 18 quoted lines
>  gitk | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/gitk b/gitk
> index 41e5071..9237830 100755
> --- a/gitk
> +++ b/gitk
> @@ -3504,7 +3504,9 @@ proc gitknewtmpdir {} {
>  	    set tmpdir $gitdir
>  	}
>  	set gitktmpformat [file join $tmpdir ".gitk-tmp.XXXXXX"]
> -	set gitktmpdir [exec mktemp -d $gitktmpformat]
> +	if {[catch {set gitktmpdir [exec mktemp -d $gitktmpformat]}]} {
> +	    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
David Aguilar· Jun 27, 2014, 03:05 UTC · re: Junio C Hamano · lore

Re: [PATCH] gitk: catch mkdtemp errors

On Thu, Jun 26, 2014 at 01:42:04PM -0700, Junio C Hamano wrote:
Show 15 quoted lines
> David Aguilar <davvid@gmail.com> writes:
> 
> > 105b5d3fbb1c00bb0aeaf9d3e0fbe26a7b1993fc 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>
> > ---
> 
> Does this still need to be applied before I can pull from Paulus?
Yes, it would be nice to have this, especially for Windows users.
-- 
David
Junio C Hamano· Jun 26, 2014, 20:47 UTC · re: David Aguilar · lore

Re: [PATCH] gitk: catch mkdtemp errors

David Aguilar <davvid@gmail.com> writes:
Show 11 quoted lines
> 105b5d3fbb1c00bb0aeaf9d3e0fbe26a7b1993fc 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>
> ---

In the meantime, I've fetched from you and merged up to your master~2 aka 17f9836c (gitk: Show staged submodules regardless of ignore config, 2014-04-08).

Thanks.
Show 18 quoted lines
>  gitk | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/gitk b/gitk
> index 41e5071..9237830 100755
> --- a/gitk
> +++ b/gitk
> @@ -3504,7 +3504,9 @@ proc gitknewtmpdir {} {
>  	    set tmpdir $gitdir
>  	}
>  	set gitktmpformat [file join $tmpdir ".gitk-tmp.XXXXXX"]
> -	set gitktmpdir [exec mktemp -d $gitktmpformat]
> +	if {[catch {set gitktmpdir [exec mktemp -d $gitktmpformat]}]} {
> +	    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
Paul Mackerras· Jun 27, 2014, 06:59 UTC · re: Junio C Hamano · lore

Re: [PATCH] gitk: catch mkdtemp errors

On Thu, Jun 26, 2014 at 01:47:36PM -0700, Junio C Hamano wrote:
Show 17 quoted lines
> David Aguilar <davvid@gmail.com> writes:
> 
> > 105b5d3fbb1c00bb0aeaf9d3e0fbe26a7b1993fc 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>
> > ---
> 
> In the meantime, I've fetched from you and merged up to your
> master~2 aka 17f9836c (gitk: Show staged submodules regardless of
> ignore config, 2014-04-08).

I have applied and pushed out this patch, along with one from Max Kirillov, so please do another fetch.

Thanks, Paul.

Junio C Hamano· Jun 27, 2014, 17:16 UTC · re: Paul Mackerras · lore

Re: [PATCH] gitk: catch mkdtemp errors

Paul Mackerras <paulus@samba.org> writes:
Show 8 quoted lines
> On Thu, Jun 26, 2014 at 01:47:36PM -0700, Junio C Hamano wrote:
>> 
>> In the meantime, I've fetched from you and merged up to your
>> master~2 aka 17f9836c (gitk: Show staged submodules regardless of
>> ignore config, 2014-04-08).
>
> I have applied and pushed out this patch, along with one from Max
> Kirillov, so please do another fetch.
Thanks, will do.
Paul Mackerras· Jun 27, 2014, 06:58 UTC · re: David Aguilar · lore

Re: [PATCH] gitk: catch mkdtemp errors

On Wed, Jun 18, 2014 at 07:53:14PM -0700, David Aguilar wrote:
Show 10 quoted lines
> 105b5d3fbb1c00bb0aeaf9d3e0fbe26a7b1993fc 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>
Thanks, applied (with slight modification to commit message).
Paul.

← back to recent threads