X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=walker.c;h=31de6c16bd021003bdd4fc1475bfe500f28773f4;hb=37a75abc985a25a0612c2c176ed35d438722752d;hp=adc3e80ce14ab60b585e295d029261f5b53acb51;hpb=dfb9a34ababeee98a9f241636c1fe6e98c754f7a;p=git.git diff --git a/walker.c b/walker.c index adc3e80ce..31de6c16b 100644 --- a/walker.c +++ b/walker.c @@ -190,9 +190,13 @@ static int interpret_target(struct walker *walker, char *target, unsigned char * if (!get_sha1_hex(target, sha1)) return 0; if (!check_ref_format(target)) { - if (!walker->fetch_ref(walker, target, sha1)) { + struct ref *ref = alloc_ref_from_str(target); + if (!walker->fetch_ref(walker, ref)) { + hashcpy(sha1, ref->old_sha1); + free(ref); return 0; } + free(ref); } return -1; } @@ -256,7 +260,6 @@ int walker_fetch(struct walker *walker, int targets, char **target, int i; save_commit_buffer = 0; - track_object_refs = 0; for (i = 0; i < targets; i++) { if (!write_ref || !write_ref[i])