Improve error messages when temporary file creation fails

Before, when creating a temporary file failed, a generic 'Unable to create
temporary file' message was printed. In some cases this could lead to
confusion as to which directory should be checked for correct permissions etc.

This patch adds the template for the temporary filename to the error message,
converting it to an absolute path if needed. A test verifies that the template
is indeed printed when pointing to a nonexistent or unwritable directory.

A copy of the original template is made in case mkstemp clears the template.

Signed-off-by: Arnout Engelen <arnouten@bzzt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Arnout Engelen
2010-12-18 22:28:00 +01:00
committed by Junio C Hamano
parent 853563d734
commit 6cf6bb3e47
4 changed files with 56 additions and 4 deletions

14
test-mktemp.c Normal file
View File

@ -0,0 +1,14 @@
/*
* test-mktemp.c: code to exercise the creation of temporary files
*/
#include "git-compat-util.h"
int main(int argc, char *argv[])
{
if (argc != 2)
usage("Expected 1 parameter defining the temporary file template");
xmkstemp(xstrdup(argv[1]));
return 0;
}