1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-24 01:26:16 +02:00

Don't create a final empty packfile in fast-import.

If the last packfile is going to be empty (has 0 objects) then it
shouldn't be kept after the import has terminated, as there is no
point to the packfile.  So rather than hashing it and making the
index file, just delete the packfile.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
Shawn O. Pearce 2007-01-15 06:39:39 -05:00
parent 7bfe6e2613
commit 3e005baf85

View File

@ -713,17 +713,23 @@ static void end_packfile()
{
struct packed_git *old_p = pack_data, *new_p;
fixup_header_footer();
write_index(idx_name);
if (object_count) {
fixup_header_footer();
write_index(idx_name);
/* Register the packfile with core git's machinary. */
new_p = add_packed_git(idx_name, strlen(idx_name), 1);
if (!new_p)
die("core git rejected index %s", idx_name);
new_p->windows = old_p->windows;
new_p->pack_fd = old_p->pack_fd;
all_packs[pack_id++] = new_p;
install_packed_git(new_p);
/* Register the packfile with core git's machinary. */
new_p = add_packed_git(idx_name, strlen(idx_name), 1);
if (!new_p)
die("core git rejected index %s", idx_name);
new_p->windows = old_p->windows;
new_p->pack_fd = old_p->pack_fd;
all_packs[pack_id++] = new_p;
install_packed_git(new_p);
}
else {
close(pack_fd);
unlink(old_p->pack_name);
}
free(old_p);
free(idx_name);