diff --git a/server-info.c b/server-info.c
index 3c08a288db9fd36b637b8da854a63cfbdcaa03da..ba5359108deb4f010be366ef65974ec7db123098 100644 (file)
--- a/server-info.c
+++ b/server-info.c
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;
}