X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=merge-recursive.c;h=2a58dad3f43590008045282614fb0f174f3733e5;hb=3175b0cfc1392de1ff00c01796f85b92df317cc8;hp=9a1e2f269dc5eff3b7544507a1e483948cc1254d;hpb=5d1d1c14790cf74eb0d630c4404114206061232d;p=git.git diff --git a/merge-recursive.c b/merge-recursive.c index 9a1e2f269..2a58dad3f 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -1046,14 +1046,16 @@ static struct merge_file_info merge_file(struct diff_filespec *o, free(result_buf.ptr); result.clean = (merge_status == 0); - } else { - if (!(S_ISLNK(a->mode) || S_ISLNK(b->mode))) - die("cannot merge modes?"); - + } else if (S_ISGITLINK(a->mode)) { + result.clean = 0; + hashcpy(result.sha, a->sha1); + } else if (S_ISLNK(a->mode)) { hashcpy(result.sha, a->sha1); if (!sha_eq(a->sha1, b->sha1)) result.clean = 0; + } else { + die("unsupported object type in the tree"); } }