Signed-off-by: Christian Couder <chriscool@xxxxxxxxxxxxx> --- builtin/revert.c | 43 ++++++++++++++++++++++--------------------- 1 files changed, 22 insertions(+), 21 deletions(-) diff --git a/builtin/revert.c b/builtin/revert.c index bb6e9e8..9649d37 100644 --- a/builtin/revert.c +++ b/builtin/revert.c @@ -280,16 +280,18 @@ static struct tree *empty_tree(void) return tree; } -static NORETURN void die_dirty_index(const char *me) +static int error_dirty_index(const char *me) { if (read_cache_unmerged()) { - die_resolve_conflict(me); + return error_resolve_conflict(me); } else { if (advice_commit_before_merge) - die("Your local changes would be overwritten by %s.\n" - "Please, commit your changes or stash them to proceed.", me); + return error("Your local changes would be overwritten " + "by %s.\nPlease, commit your changes or " + "stash them to proceed.", me); else - die("Your local changes would be overwritten by %s.\n", me); + return error("Your local changes would be overwritten " + "by %s.\n", me); } } @@ -339,7 +341,7 @@ static int do_recursive_merge(struct commit *base, struct commit *next, if (active_cache_changed && (write_cache(index_fd, active_cache, active_nr) || commit_locked_index(&index_lock))) - die("%s: Unable to write new index file", me); + return error("%s: Unable to write new index file", me); rollback_lock_file(&index_lock); if (!clean) { @@ -405,18 +407,18 @@ static int do_pick_commit(void) * to work on. */ if (write_cache_as_tree(head, 0, NULL)) - die ("Your index file is unmerged."); + return error("Your index file is unmerged."); } else { if (get_sha1("HEAD", head)) - die ("You do not have a valid HEAD"); + return error("You do not have a valid HEAD"); if (index_differs_from("HEAD", 0)) - die_dirty_index(me); + return error_dirty_index(me); } discard_cache(); if (!commit->parents) { if (action == REVERT) - die ("Cannot revert a root commit"); + return error("Cannot revert a root commit"); parent = NULL; } else if (commit->parents->next) { @@ -425,20 +427,19 @@ static int do_pick_commit(void) struct commit_list *p; if (!mainline) - die("Commit %s is a merge but no -m option was given.", - sha1_to_hex(commit->object.sha1)); - + return error("Commit %s is a merge but no -m option " + "was given.", sha1_to_hex(commit->object.sha1)); for (cnt = 1, p = commit->parents; cnt != mainline && p; cnt++) p = p->next; if (cnt != mainline || !p) - die("Commit %s does not have parent %d", - sha1_to_hex(commit->object.sha1), mainline); + return error("Commit %s does not have parent %d", + sha1_to_hex(commit->object.sha1), mainline); parent = p->item; } else if (0 < mainline) - die("Mainline was specified but commit %s is not a merge.", - sha1_to_hex(commit->object.sha1)); + return error("Mainline was specified but commit %s is not a merge.", + sha1_to_hex(commit->object.sha1)); else parent = commit->parents->item; @@ -446,12 +447,12 @@ static int do_pick_commit(void) return fast_forward_to(commit->object.sha1, head); if (parent && parse_commit(parent) < 0) - die("%s: cannot parse parent commit %s", - me, sha1_to_hex(parent->object.sha1)); + return error("%s: cannot parse parent commit %s", + me, sha1_to_hex(parent->object.sha1)); if (get_message(commit->buffer, &msg) != 0) - die("Cannot get commit message for %s", - sha1_to_hex(commit->object.sha1)); + return error("Cannot get commit message for %s", + sha1_to_hex(commit->object.sha1)); /* * "commit" is an existing commit. We would want to apply -- 1.7.3.2.504.g59d466 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html