]> git.ipfire.org Git - thirdparty/git.git/blobdiff - builtin/replace.c
Merge branch 'dl/t0000-skip-test-test'
[thirdparty/git.git] / builtin / replace.c
index 644b21ca8d57a75fa83ecbf0e58dd07a685cd9e4..bd92dc63b96b93476270d03d278aadfd7d3bb686 100644 (file)
@@ -272,7 +272,7 @@ static int import_object(struct object_id *oid, enum object_type type,
                        return error(_("unable to spawn mktree"));
                }
 
-               if (strbuf_read(&result, cmd.out, 41) < 0) {
+               if (strbuf_read(&result, cmd.out, the_hash_algo->hexsz + 1) < 0) {
                        error_errno(_("unable to read from mktree"));
                        close(fd);
                        close(cmd.out);
@@ -358,14 +358,15 @@ static int replace_parents(struct strbuf *buf, int argc, const char **argv)
        struct strbuf new_parents = STRBUF_INIT;
        const char *parent_start, *parent_end;
        int i;
+       const unsigned hexsz = the_hash_algo->hexsz;
 
        /* find existing parents */
        parent_start = buf->buf;
-       parent_start += GIT_SHA1_HEXSZ + 6; /* "tree " + "hex sha1" + "\n" */
+       parent_start += hexsz + 6; /* "tree " + "hex sha1" + "\n" */
        parent_end = parent_start;
 
        while (starts_with(parent_end, "parent "))
-               parent_end += 48; /* "parent " + "hex sha1" + "\n" */
+               parent_end += hexsz + 8; /* "parent " + "hex sha1" + "\n" */
 
        /* prepare new parents */
        for (i = 0; i < argc; i++) {
@@ -421,7 +422,7 @@ static int check_one_mergetag(struct commit *commit,
                if (get_oid(mergetag_data->argv[i], &oid) < 0)
                        return error(_("not a valid object name: '%s'"),
                                     mergetag_data->argv[i]);
-               if (oideq(&tag->tagged->oid, &oid))
+               if (oideq(get_tagged_oid(tag), &oid))
                        return 0; /* found */
        }