]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Reuse sha1 in packed_git in fast-import.
authorShawn O. Pearce <spearce@spearce.org>
Tue, 16 Jan 2007 05:44:48 +0000 (00:44 -0500)
committerShawn O. Pearce <spearce@spearce.org>
Tue, 16 Jan 2007 05:44:48 +0000 (00:44 -0500)
Rather than maintaing our own packfile level sha1 variable we
can make use of the one already available in struct packed_git.
Its meant for the SHA1 of the index but it can also hold the
SHA1 of the packfile itself between final checksumming of the
packfile and creation of the index.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
fast-import.c

index 938707c5bd741beb6a111ceabef11848fc098f5e..5767e808c65144739e47cab1e9f32703d2377a91 100644 (file)
@@ -248,7 +248,6 @@ static struct packed_git *pack_data;
 static struct packed_git **all_packs;
 static int pack_fd;
 static unsigned long pack_size;
-static unsigned char pack_sha1[20];
 
 /* Table of objects we've written. */
 static unsigned int object_entry_alloc = 5000;
@@ -646,8 +645,8 @@ static void fixup_header_footer()
        }
        free(buf);
 
-       SHA1_Final(pack_sha1, &c);
-       write_or_die(pack_fd, pack_sha1, sizeof(pack_sha1));
+       SHA1_Final(pack_data->sha1, &c);
+       write_or_die(pack_fd, pack_data->sha1, sizeof(pack_data->sha1));
 }
 
 static int oecmp (const void *a_, const void *b_)
@@ -697,8 +696,8 @@ static void write_index(const char *idx_name)
                sha1write(f, &offset, 4);
                sha1write(f, (*c)->sha1, sizeof((*c)->sha1));
        }
-       sha1write(f, pack_sha1, sizeof(pack_sha1));
-       sha1close(f, NULL, 1);
+       sha1write(f, pack_data->sha1, sizeof(pack_data->sha1));
+       sha1close(f, pack_data->sha1, 1);
        free(idx);
 }