From 4a4cf9e821f604b79817bc37b475828f3fb8b0a4 Mon Sep 17 00:00:00 2001 From: Paul Tan Date: Thu, 18 Jun 2015 18:54:04 +0800 Subject: pull: check if in unresolved merge state Since d38a30d (Be more user-friendly when refusing to do something because of conflict., 2010-01-12), git-pull will error out with user-friendly advices if the user is in the middle of a merge or has unmerged files. Re-implement this behavior. While the "has unmerged files" case can be handled by die_resolve_conflict(), we introduce a new function die_conclude_merge() for printing a different error message for when there are no unmerged files but the merge has not been finished. Signed-off-by: Paul Tan Signed-off-by: Junio C Hamano --- advice.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'advice.c') diff --git a/advice.c b/advice.c index 575bec20b3..4965686e19 100644 --- a/advice.c +++ b/advice.c @@ -96,6 +96,14 @@ void NORETURN die_resolve_conflict(const char *me) die("Exiting because of an unresolved conflict."); } +void NORETURN die_conclude_merge(void) +{ + error(_("You have not concluded your merge (MERGE_HEAD exists).")); + if (advice_resolve_conflict) + advise(_("Please, commit your changes before you can merge.")); + die(_("Exiting because of unfinished merge.")); +} + void detach_advice(const char *new_name) { const char fmt[] = -- cgit v1.2.1