Skip to content
Snippets Groups Projects
Select Git revision
  • 833e48259e23aea76f3765d28d1b2200332301f7
  • passt default
  • master
  • pu
  • todo
  • next
  • maint
  • v2.8.0-rc1
  • v2.8.0-rc0
  • v2.7.2
  • v2.7.1
  • v2.7.0
  • v2.6.5
  • v2.7.0-rc3
  • v2.7.0-rc2
  • v2.7.0-rc1
  • v2.7.0-rc0
  • v2.6.4
  • v2.6.3
  • v2.6.2
  • v2.6.1
  • v2.3.10
  • v2.5.4
  • v2.4.10
  • v2.6.0
  • v2.6.0-rc3
  • v2.5.3
27 results

advice.c

Blame
  • advice.c 3.45 KiB
    #include "cache.h"
    
    int advice_push_update_rejected = 1;
    int advice_push_non_ff_current = 1;
    int advice_push_non_ff_matching = 1;
    int advice_push_already_exists = 1;
    int advice_push_fetch_first = 1;
    int advice_push_needs_force = 1;
    int advice_status_hints = 1;
    int advice_status_u_option = 1;
    int advice_commit_before_merge = 1;
    int advice_resolve_conflict = 1;
    int advice_implicit_identity = 1;
    int advice_detached_head = 1;
    int advice_set_upstream_failure = 1;
    int advice_object_name_warning = 1;
    int advice_rm_hints = 1;
    
    static struct {
    	const char *name;
    	int *preference;
    } advice_config[] = {
    	{ "pushupdaterejected", &advice_push_update_rejected },
    	{ "pushnonffcurrent", &advice_push_non_ff_current },
    	{ "pushnonffmatching", &advice_push_non_ff_matching },
    	{ "pushalreadyexists", &advice_push_already_exists },
    	{ "pushfetchfirst", &advice_push_fetch_first },
    	{ "pushneedsforce", &advice_push_needs_force },
    	{ "statushints", &advice_status_hints },
    	{ "statusuoption", &advice_status_u_option },
    	{ "commitbeforemerge", &advice_commit_before_merge },
    	{ "resolveconflict", &advice_resolve_conflict },
    	{ "implicitidentity", &advice_implicit_identity },
    	{ "detachedhead", &advice_detached_head },
    	{ "setupstreamfailure", &advice_set_upstream_failure },
    	{ "objectnamewarning", &advice_object_name_warning },
    	{ "rmhints", &advice_rm_hints },
    
    	/* make this an alias for backward compatibility */
    	{ "pushnonfastforward", &advice_push_update_rejected }
    };
    
    void advise(const char *advice, ...)
    {
    	struct strbuf buf = STRBUF_INIT;
    	va_list params;
    	const char *cp, *np;
    
    	va_start(params, advice);
    	strbuf_vaddf(&buf, advice, params);
    	va_end(params);
    
    	for (cp = buf.buf; *cp; cp = np) {
    		np = strchrnul(cp, '\n');
    		fprintf(stderr,	_("hint: %.*s\n"), (int)(np - cp), cp);
    		if (*np)
    			np++;
    	}
    	strbuf_release(&buf);
    }
    
    int git_default_advice_config(const char *var, const char *value)
    {
    	const char *k;
    	int i;
    
    	if (!skip_prefix(var, "advice.", &k))
    		return 0;
    
    	for (i = 0; i < ARRAY_SIZE(advice_config); i++) {