From 972a9155832165ea38febba2303e7c760050b5d8 Mon Sep 17 00:00:00 2001 From: Rene Scharfe Date: Sun, 15 Oct 2006 14:02:03 +0200 Subject: [PATCH 1/3] Make write_sha1_file_prepare() void Move file name generation from write_sha1_file_prepare() to the one caller that cares and make it a void function. Signed-off-by: Rene Scharfe Signed-off-by: Junio C Hamano --- sha1_file.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/sha1_file.c b/sha1_file.c index d111be74a3..66cc7679ce 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -1347,9 +1347,9 @@ void *read_object_with_reference(const unsigned char *sha1, } } -static char *write_sha1_file_prepare(void *buf, unsigned long len, - const char *type, unsigned char *sha1, - unsigned char *hdr, int *hdrlen) +static void write_sha1_file_prepare(void *buf, unsigned long len, + const char *type, unsigned char *sha1, + unsigned char *hdr, int *hdrlen) { SHA_CTX c; @@ -1361,8 +1361,6 @@ static char *write_sha1_file_prepare(void *buf, unsigned long len, SHA1_Update(&c, hdr, *hdrlen); SHA1_Update(&c, buf, len); SHA1_Final(sha1, &c); - - return sha1_file_name(sha1); } /* @@ -1521,7 +1519,8 @@ int write_sha1_file(void *buf, unsigned long len, const char *type, unsigned cha /* Normally if we have it in the pack then we do not bother writing * it out into .git/objects/??/?{38} file. */ - filename = write_sha1_file_prepare(buf, len, type, sha1, hdr, &hdrlen); + write_sha1_file_prepare(buf, len, type, sha1, hdr, &hdrlen); + filename = sha1_file_name(sha1); if (returnsha1) hashcpy(returnsha1, sha1); if (has_sha1_file(sha1)) From 7cfb5f367e50402c0bc75d89542d7ada4c5b8da4 Mon Sep 17 00:00:00 2001 From: Rene Scharfe Date: Sun, 15 Oct 2006 14:02:18 +0200 Subject: [PATCH 2/3] Replace open-coded version of hash_sha1_file() Signed-off-by: Rene Scharfe Signed-off-by: Junio C Hamano --- sha1_file.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/sha1_file.c b/sha1_file.c index 66cc7679ce..716aef33e3 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -671,14 +671,8 @@ static void reprepare_packed_git(void) int check_sha1_signature(const unsigned char *sha1, void *map, unsigned long size, const char *type) { - char header[100]; unsigned char real_sha1[20]; - SHA_CTX c; - - SHA1_Init(&c); - SHA1_Update(&c, header, 1+sprintf(header, "%s %lu", type, size)); - SHA1_Update(&c, map, size); - SHA1_Final(real_sha1, &c); + hash_sha1_file(map, size, type, real_sha1); return hashcmp(sha1, real_sha1) ? -1 : 0; } From b32db4d0faec35ad8e6af35c54c37036b3d6c02f Mon Sep 17 00:00:00 2001 From: Petr Baudis Date: Mon, 16 Oct 2006 03:00:37 +0200 Subject: [PATCH 3/3] svnimport: Fix broken tags being generated Currently git-svnimport generates broken tags missing the timespec in the 'tagger' line. This is a random stab at a minimal fix. Signed-off-by: Petr Baudis Signed-off-by: Junio C Hamano --- git-svnimport.perl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-svnimport.perl b/git-svnimport.perl index 988514e293..aca0e4f64e 100755 --- a/git-svnimport.perl +++ b/git-svnimport.perl @@ -838,7 +838,7 @@ sub commit { print $out ("object $cid\n". "type commit\n". "tag $dest\n". - "tagger $committer_name <$committer_email>\n") and + "tagger $committer_name <$committer_email> 0 +0000\n") and close($out) or die "Cannot create tag object $dest: $!\n";