diff options
author | Junio C Hamano <junkio@cox.net> | 2005-10-30 18:06:39 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-10-30 18:06:39 -0800 |
commit | e634aec752642dcf86c3fc82025e43381d6768c2 (patch) | |
tree | a589b6756894d18c841ac61499e5d2c9beda36fd /server-info.c | |
parent | a1c7a69047e88244ed321b5aa2a8bcbba5a869c2 (diff) | |
parent | 80e0c0ab91e1cf6a6315d0431bf6873ebbf8bef0 (diff) |
GIT 0.99.9av0.99.9a
... to contain the RPM workaround.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'server-info.c')
-rw-r--r-- | server-info.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/server-info.c b/server-info.c index a9e5607f2f..ba5359108d 100644 --- a/server-info.c +++ b/server-info.c @@ -9,7 +9,14 @@ static FILE *info_ref_fp; static int add_info_ref(const char *path, const unsigned char *sha1) { + struct object *o = parse_object(sha1); + fprintf(info_ref_fp, "%s %s\n", sha1_to_hex(sha1), path); + if (o->type == tag_type) { + o = deref_tag(o); + fprintf(info_ref_fp, "%s %s^{}\n", + sha1_to_hex(o->sha1), path); + } return 0; } @@ -59,6 +66,16 @@ static struct object *parse_object_cheap(const unsigned char *sha1) struct commit *commit = (struct commit *)o; free(commit->buffer); commit->buffer = NULL; + } else if (o->type == tree_type) { + struct tree *tree = (struct tree *)o; + struct tree_entry_list *e, *n; + for (e = tree->entries; e; e = n) { + free(e->name); + e->name = NULL; + n = e->next; + free(e); + } + tree->entries = NULL; } return o; } |