X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=unpack-trees.c;h=cba0aca062f201c5cd5f8799f2190d4a6f06e7c7;hb=1c7b76be7d620bbaf2e6b8417f04012326bbb9df;hp=0de5a31c0b68f87491e540fdc1978809fee00240;hpb=0166592495e21b075fa48225ff21568269bf51d4;p=git.git diff --git a/unpack-trees.c b/unpack-trees.c index 0de5a31c0..cba0aca06 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -358,8 +358,13 @@ static int unpack_failed(struct unpack_trees_options *o, const char *message) return -1; } +/* + * N-way merge "len" trees. Returns 0 on success, -1 on failure to manipulate the + * resulting index, -2 on failure to reflect the changes to the work tree. + */ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options *o) { + int ret; static struct cache_entry *dfc; if (len > MAX_UNPACK_TREES) @@ -404,11 +409,10 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options return unpack_failed(o, "Merge requires file-level merging"); o->src_index = NULL; - if (check_updates(o)) - return -1; + ret = check_updates(o) ? (-2) : 0; if (o->dst_index) *o->dst_index = o->result; - return 0; + return ret; } /* Here come the merge functions */