X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=builtin-revert.c;h=8ac86f09434d1dad830c924de8cadcef6705e1e5;hb=3c651491f28e01a9ee0ddaecd05fb7a211d218c3;hp=857ca2eefa9719029faf48a143ee4afa846c77a6;hpb=bd0d1916de221425fc22b69940ff71b0ce6aad9c;p=git.git diff --git a/builtin-revert.c b/builtin-revert.c index 857ca2eef..8ac86f094 100644 --- a/builtin-revert.c +++ b/builtin-revert.c @@ -235,6 +235,19 @@ static struct tree *empty_tree(void) return tree; } +static NORETURN void die_dirty_index(const char *me) +{ + if (read_cache_unmerged()) { + die_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); + else + die("Your local changes would be overwritten by %s.\n", me); + } +} + static int revert_or_cherry_pick(int argc, const char **argv) { unsigned char head[20]; @@ -271,7 +284,7 @@ static int revert_or_cherry_pick(int argc, const char **argv) if (get_sha1("HEAD", head)) die ("You do not have a valid HEAD"); if (index_differs_from("HEAD", 0)) - die ("Dirty index: cannot %s", me); + die_dirty_index(me); } discard_cache();