write_loose_object: don't bother trying to read an old object
Before even calling this, all callers have done a "has_sha1_file(sha1)" or "has_loose_object(sha1)" check, so there is no point in doing a second check. If something races with us on object creation, we handle that in the final link() that moves it to the right place. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
328a4750b1
commit
1421c5f274
14
sha1_file.c
14
sha1_file.c
@ -2145,20 +2145,6 @@ static int write_loose_object(const unsigned char *sha1, char *hdr, int hdrlen,
|
|||||||
static char tmpfile[PATH_MAX];
|
static char tmpfile[PATH_MAX];
|
||||||
|
|
||||||
filename = sha1_file_name(sha1);
|
filename = sha1_file_name(sha1);
|
||||||
fd = open(filename, O_RDONLY);
|
|
||||||
if (fd >= 0) {
|
|
||||||
/*
|
|
||||||
* FIXME!!! We might do collision checking here, but we'd
|
|
||||||
* need to uncompress the old file and check it. Later.
|
|
||||||
*/
|
|
||||||
close(fd);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (errno != ENOENT) {
|
|
||||||
return error("sha1 file %s: %s\n", filename, strerror(errno));
|
|
||||||
}
|
|
||||||
|
|
||||||
fd = create_tmpfile(tmpfile, sizeof(tmpfile), filename);
|
fd = create_tmpfile(tmpfile, sizeof(tmpfile), filename);
|
||||||
if (fd < 0) {
|
if (fd < 0) {
|
||||||
if (errno == EPERM)
|
if (errno == EPERM)
|
||||||
|
Loading…
Reference in New Issue
Block a user