[prev in list] [next in list] [prev in thread] [next in thread] 

List:       git
Subject:    [PATCH RFC] parse_object: pass on the original sha1, not the replaced one
From:       Nguyễn Thái Ngọc Duy
Date:       2010-07-31 12:36:42
Message-ID: 1280579802-8606-1-git-send-email-pclouds () gmail ! com
[Download RAW message or body]

Commit 0e87c36 (object: call "check_sha1_signature" with the
replacement sha1) did this. I'm not sure if it's should be done this
way.

With "repl" as the first argument to parse_object_buffer, the returned
obj pointer will have the replaced SHA1 in obj->sha1, not the original
one. I sort of expect that, no matter the object is replaced,
obj->sha1 should stay the same.

This was observed by replacing commit tip. git log would show the
replaced sha1, not the original one.
---
 object.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/object.c b/object.c
index 277b3dd..7adfda7 100644
--- a/object.c
+++ b/object.c
@@ -199,7 +199,7 @@ struct object *parse_object(const unsigned char *sha1)
 			return NULL;
 		}
 
-		obj = parse_object_buffer(repl, type, size, buffer, &eaten);
+		obj = parse_object_buffer(sha1, type, size, buffer, &eaten);
 		if (!eaten)
 			free(buffer);
 		return obj;
-- 
1.7.1.rc1.69.g24c2f7

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic