Merge branch 'jk/prune-mtime'
[gitweb.git] / submodule.c
index 5879cfb158f0b581a54a56de5de44af5c2d0a700..14e76247bf107da916cf100b8078cf10238e6b76 100644 (file)
@@ -130,6 +130,7 @@ static int add_submodule_odb(const char *path)
                goto done;
        }
        /* avoid adding it twice */
+       prepare_alt_odb();
        for (alt_odb = alt_odb_list; alt_odb; alt_odb = alt_odb->next)
                if (alt_odb->name - alt_odb->base == objects_directory.len &&
                                !strncmp(alt_odb->base, objects_directory.buf,
@@ -148,7 +149,6 @@ static int add_submodule_odb(const char *path)
 
        /* add possible alternates from the submodule */
        read_info_alternates(objects_directory.buf, 0);
-       prepare_alt_odb();
 done:
        strbuf_release(&objects_directory);
        return ret;
@@ -249,7 +249,7 @@ static int prepare_submodule_summary(struct rev_info *rev, const char *path,
        for (list = merge_bases; list; list = list->next) {
                list->item->object.flags |= UNINTERESTING;
                add_pending_object(rev, &list->item->object,
-                       sha1_to_hex(list->item->object.sha1));
+                       oid_to_hex(&list->item->object.oid));
        }
        return prepare_revision_walk(rev);
 }
@@ -597,7 +597,7 @@ static void calculate_changed_submodule_paths(void)
                        diff_opts.output_format |= DIFF_FORMAT_CALLBACK;
                        diff_opts.format_callback = submodule_collect_changed_cb;
                        diff_setup_done(&diff_opts);
-                       diff_tree_sha1(parent->item->object.sha1, commit->object.sha1, "", &diff_opts);
+                       diff_tree_sha1(parent->item->object.oid.hash, commit->object.oid.hash, "", &diff_opts);
                        diffcore_std(&diff_opts);
                        diff_flush(&diff_opts);
                        parent = parent->next;
@@ -875,7 +875,7 @@ static int find_first_merges(struct object_array *result, const char *path,
 
        /* get all revisions that merge commit a */
        snprintf(merged_revision, sizeof(merged_revision), "^%s",
-                       sha1_to_hex(a->object.sha1));
+                       oid_to_hex(&a->object.oid));
        init_revisions(&revs, NULL);
        rev_opts.submodule = path;
        setup_revisions(ARRAY_SIZE(rev_args)-1, rev_args, &revs, &rev_opts);
@@ -1006,7 +1006,7 @@ int merge_submodule(unsigned char result[20], const char *path,
                        "by using:\n\n"
                        "  git update-index --cacheinfo 160000 %s \"%s\"\n\n"
                        "which will accept this suggestion.\n",
-                       sha1_to_hex(merges.objects[0].item->sha1), path);
+                       oid_to_hex(&merges.objects[0].item->oid), path);
                break;
 
        default: