summaryrefslogtreecommitdiff
path: root/fast-import.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2009-03-21 22:53:36 -0700
committerJunio C Hamano <gitster@pobox.com>2009-03-21 22:53:36 -0700
commit2990034f1ed2c3d85d23d5611a1f04d317f785ac (patch)
treeb279df7a87a679a74c942f1c32d42681f9317f4b /fast-import.c
parentbf0fe35c938ac9f03d1369600b0c76e428a57507 (diff)
parent2c626e5fa8a46f647b88fb32d7b28d573e8631bf (diff)
Merge branch 'jc/maint-1.6.0-pack-directory' into maint-1.6.1
* jc/maint-1.6.0-pack-directory: Fix odb_mkstemp() on AIX Make sure objects/pack exists before creating a new pack Conflicts: wrapper.c
Diffstat (limited to 'fast-import.c')
-rw-r--r--fast-import.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/fast-import.c b/fast-import.c
index 23e970d581..f246d5347b 100644
--- a/fast-import.c
+++ b/fast-import.c
@@ -816,9 +816,8 @@ static void start_packfile(void)
struct pack_header hdr;
int pack_fd;
- snprintf(tmpfile, sizeof(tmpfile),
- "%s/pack/tmp_pack_XXXXXX", get_object_directory());
- pack_fd = xmkstemp(tmpfile);
+ pack_fd = odb_mkstemp(tmpfile, sizeof(tmpfile),
+ "pack/tmp_pack_XXXXXX");
p = xcalloc(1, sizeof(*p) + strlen(tmpfile) + 2);
strcpy(p->pack_name, tmpfile);
p->pack_fd = pack_fd;
@@ -878,9 +877,8 @@ static char *create_index(void)
c = next;
}
- snprintf(tmpfile, sizeof(tmpfile),
- "%s/pack/tmp_idx_XXXXXX", get_object_directory());
- idx_fd = xmkstemp(tmpfile);
+ idx_fd = odb_mkstemp(tmpfile, sizeof(tmpfile),
+ "pack/tmp_idx_XXXXXX");
f = sha1fd(idx_fd, tmpfile);
sha1write(f, array, 256 * sizeof(int));
git_SHA1_Init(&ctx);
@@ -906,9 +904,7 @@ static char *keep_pack(char *curr_index_name)
chmod(pack_data->pack_name, 0444);
chmod(curr_index_name, 0444);
- snprintf(name, sizeof(name), "%s/pack/pack-%s.keep",
- get_object_directory(), sha1_to_hex(pack_data->sha1));
- keep_fd = open(name, O_RDWR|O_CREAT|O_EXCL, 0600);
+ keep_fd = odb_pack_keep(name, sizeof(name), pack_data->sha1);
if (keep_fd < 0)
die("cannot create keep file");
write_or_die(keep_fd, keep_msg, strlen(keep_msg));