[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 7e47ec0598359bfed39bbff0af2532b328f625f3..8b16f50e332888f871fd1cb38133e3b453471bd0 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;
 }