odb_pack_keep(): stop generating keepfile name
[gitweb.git] / builtin / index-pack.c
index f4b87c6c9f901e5834ce9e50db089fb487c6eafc..a58bc6bee4492522c629b2ef1ed2ec4c9c916524 100644 (file)
@@ -1402,10 +1402,10 @@ static void final(const char *final_pack_name, const char *curr_pack_name,
                int keep_fd, keep_msg_len = strlen(keep_msg);
 
                if (!keep_name)
-                       keep_fd = odb_pack_keep(name, sizeof(name), sha1);
-               else
-                       keep_fd = open(keep_name, O_RDWR|O_CREAT|O_EXCL, 0600);
+                       snprintf(name, sizeof(name), "%s/pack/pack-%s.keep",
+                                get_object_directory(), sha1_to_hex(sha1));
 
+               keep_fd = odb_pack_keep(keep_name ? keep_name : name);
                if (keep_fd < 0) {
                        if (errno != EEXIST)
                                die_errno(_("cannot write keep file '%s'"),