Browse Source

Use GIT_OBJECT_DIR for temporary files of pack-objects

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Alex Riesen 18 years ago committed by Junio C Hamano
parent
commit
3082acfa7c
  1. 14
      builtin-pack-objects.c

14
builtin-pack-objects.c

@ -559,6 +559,12 @@ static off_t write_one(struct sha1file *f, @@ -559,6 +559,12 @@ static off_t write_one(struct sha1file *f,
return offset + size;
}

static int open_object_dir_tmp(const char *path)
{
snprintf(tmpname, sizeof(tmpname), "%s/%s", get_object_directory(), path);
return mkstemp(tmpname);
}

static off_t write_pack_file(void)
{
uint32_t i;
@ -571,9 +577,7 @@ static off_t write_pack_file(void) @@ -571,9 +577,7 @@ static off_t write_pack_file(void)
f = sha1fd(1, "<stdout>");
do_progress >>= 1;
} else {
int fd;
snprintf(tmpname, sizeof(tmpname), "tmp_pack_XXXXXX");
fd = mkstemp(tmpname);
int fd = open_object_dir_tmp("tmp_pack_XXXXXX");
if (fd < 0)
die("unable to create %s: %s\n", tmpname, strerror(errno));
pack_tmp_name = xstrdup(tmpname);
@ -623,10 +627,8 @@ static void write_index_file(off_t last_obj_offset, unsigned char *sha1) @@ -623,10 +627,8 @@ static void write_index_file(off_t last_obj_offset, unsigned char *sha1)
uint32_t array[256];
uint32_t i, index_version;
SHA_CTX ctx;
int fd;

snprintf(tmpname, sizeof(tmpname), "tmp_idx_XXXXXX");
fd = mkstemp(tmpname);
int fd = open_object_dir_tmp("tmp_idx_XXXXXX");
if (fd < 0)
die("unable to create %s: %s\n", tmpname, strerror(errno));
idx_tmp_name = xstrdup(tmpname);

Loading…
Cancel
Save