1#include"cache.h" 2 3int advice_push_nonfastforward =1; 4int advice_status_hints =1; 5int advice_commit_before_merge =1; 6int advice_resolve_conflict =1; 7int advice_implicit_identity =1; 8 9static struct{ 10const char*name; 11int*preference; 12} advice_config[] = { 13{"pushnonfastforward", &advice_push_nonfastforward }, 14{"statushints", &advice_status_hints }, 15{"commitbeforemerge", &advice_commit_before_merge }, 16{"resolveconflict", &advice_resolve_conflict }, 17{"implicitidentity", &advice_implicit_identity }, 18}; 19 20intgit_default_advice_config(const char*var,const char*value) 21{ 22const char*k =skip_prefix(var,"advice."); 23int i; 24 25for(i =0; i <ARRAY_SIZE(advice_config); i++) { 26if(strcmp(k, advice_config[i].name)) 27continue; 28*advice_config[i].preference =git_config_bool(var, value); 29return0; 30} 31 32return0; 33} 34 35void NORETURN die_resolve_conflict(const char*me) 36{ 37if(advice_resolve_conflict) 38/* 39 * Message used both when 'git commit' fails and when 40 * other commands doing a merge do. 41 */ 42die("'%s' is not possible because you have unmerged files.\n" 43"Please, fix them up in the work tree, and then use 'git add/rm <file>' as\n" 44"appropriate to mark resolution and make a commit, or use 'git commit -a'.", me); 45else 46die("'%s' is not possible because you have unmerged files.", me); 47}