[PATCH] Fix local pull that uses packs.
authorJunio C Hamano <junkio@cox.net>
Tue, 16 Aug 2005 05:48:09 +0000 (22:48 -0700)
committerJunio C Hamano <junkio@cox.net>
Tue, 16 Aug 2005 19:09:33 +0000 (12:09 -0700)
The patch mixed up the sha1 for the object being pulled, and the
sha1 the pull engine internally use to represent the name of the
pack that contains the object being pulled.

Signed-off-by: Junio C Hamano <junkio@cox.net>
local-pull.c

index 7e47ec0..8b16f50 100644 (file)
@@ -43,7 +43,7 @@ int setup_indices()
                if (namelen != 50 || 
                    strcmp(de->d_name + namelen - 5, ".pack"))
                        continue;
-               get_sha1_hex(sha1, de->d_name + 5);
+               get_sha1_hex(de->d_name + 5, sha1);
                setup_index(sha1);
        }
        return 0;
@@ -114,11 +114,13 @@ int fetch_pack(unsigned char *sha1)
                        sha1_to_hex(sha1));
        }
        sprintf(filename, "%s/objects/pack/pack-%s.pack", 
-               path, sha1_to_hex(sha1));
-       copy_file(filename, sha1_pack_name(sha1), sha1_to_hex(sha1));
+               path, sha1_to_hex(target->sha1));
+       copy_file(filename, sha1_pack_name(target->sha1),
+                 sha1_to_hex(target->sha1));
        sprintf(filename, "%s/objects/pack/pack-%s.idx", 
-               path, sha1_to_hex(sha1));
-       copy_file(filename, sha1_pack_index_name(sha1), sha1_to_hex(sha1));
+               path, sha1_to_hex(target->sha1));
+       copy_file(filename, sha1_pack_index_name(target->sha1),
+                 sha1_to_hex(target->sha1));
        install_packed_git(target);
        return 0;
 }