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:
Linus Torvalds 2008-06-16 17:17:10 -07:00 committed by Junio C Hamano
parent 328a4750b1
commit 1421c5f274

View File

@ -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)