create_symref: if symlink fails, fall back to writing a "symbolic ref"
[git.git] / server-info.c
index 3c08a28..ba53591 100644 (file)
@@ -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;
 }