Merge branch 'maint'
* maint: Nicer error messages in case saving an object to db goes wrong
This commit is contained in:
commit
6a96b32d3b
21
sha1_file.c
21
sha1_file.c
@ -1455,8 +1455,7 @@ int move_temp_to_file(const char *tmpfile, const char *filename)
|
||||
unlink(tmpfile);
|
||||
if (ret) {
|
||||
if (ret != EEXIST) {
|
||||
fprintf(stderr, "unable to write sha1 filename %s: %s\n", filename, strerror(ret));
|
||||
return -1;
|
||||
return error("unable to write sha1 filename %s: %s\n", filename, strerror(ret));
|
||||
}
|
||||
/* FIXME!!! Collision check here ? */
|
||||
}
|
||||
@ -1566,16 +1565,17 @@ int write_sha1_file(void *buf, unsigned long len, const char *type, unsigned cha
|
||||
}
|
||||
|
||||
if (errno != ENOENT) {
|
||||
fprintf(stderr, "sha1 file %s: %s\n", filename, strerror(errno));
|
||||
return -1;
|
||||
return error("sha1 file %s: %s\n", filename, strerror(errno));
|
||||
}
|
||||
|
||||
snprintf(tmpfile, sizeof(tmpfile), "%s/obj_XXXXXX", get_object_directory());
|
||||
|
||||
fd = mkstemp(tmpfile);
|
||||
if (fd < 0) {
|
||||
fprintf(stderr, "unable to create temporary sha1 filename %s: %s\n", tmpfile, strerror(errno));
|
||||
return -1;
|
||||
if (errno == EPERM)
|
||||
return error("insufficient permission for adding an object to repository database %s\n", get_object_directory());
|
||||
else
|
||||
return error("unable to create temporary sha1 filename %s: %s\n", tmpfile, strerror(errno));
|
||||
}
|
||||
|
||||
/* Set it up */
|
||||
@ -1690,9 +1690,12 @@ int write_sha1_from_fd(const unsigned char *sha1, int fd, char *buffer,
|
||||
snprintf(tmpfile, sizeof(tmpfile), "%s/obj_XXXXXX", get_object_directory());
|
||||
|
||||
local = mkstemp(tmpfile);
|
||||
if (local < 0)
|
||||
return error("Couldn't open %s for %s",
|
||||
tmpfile, sha1_to_hex(sha1));
|
||||
if (local < 0) {
|
||||
if (errno == EPERM)
|
||||
return error("insufficient permission for adding an object to repository database %s\n", get_object_directory());
|
||||
else
|
||||
return error("unable to create temporary sha1 filename %s: %s\n", tmpfile, strerror(errno));
|
||||
}
|
||||
|
||||
memset(&stream, 0, sizeof(stream));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user