struct notes_rewrite_cfg *init_copy_notes_for_rewrite(const char *cmd) { struct notes_rewrite_cfg *c = xmalloc(sizeof(struct notes_rewrite_cfg)); const char *rewrite_mode_env = getenv(GIT_NOTES_REWRITE_MODE_ENVIRONMENT); const char *rewrite_refs_env = getenv(GIT_NOTES_REWRITE_REF_ENVIRONMENT); c->cmd = cmd; c->enabled = 1; c->combine = combine_notes_concatenate; c->refs = xcalloc(1, sizeof(struct string_list)); c->refs->strdup_strings = 1; c->refs_from_env = 0; c->mode_from_env = 0; if (rewrite_mode_env) { c->mode_from_env = 1; c->combine = parse_combine_notes_fn(rewrite_mode_env); if (!c->combine) error("Bad " GIT_NOTES_REWRITE_MODE_ENVIRONMENT " value: '%s'", rewrite_mode_env); } if (rewrite_refs_env) { c->refs_from_env = 1; string_list_add_refs_from_colon_sep(c->refs, rewrite_refs_env); } git_config(notes_rewrite_config, c); if (!c->enabled || !c->refs->nr) { string_list_clear(c->refs, 0); free(c->refs); free(c); return NULL; } c->trees = load_notes_trees(c->refs); string_list_clear(c->refs, 0); free(c->refs); return c; }
void init_display_notes(struct display_notes_opt *opt) { char *display_ref_env; int load_config_refs = 0; display_notes_refs.strdup_strings = 1; assert(!display_notes_trees); if (!opt || opt->use_default_notes > 0 || (opt->use_default_notes == -1 && !opt->extra_notes_refs.nr)) { string_list_append(&display_notes_refs, default_notes_ref()); display_ref_env = getenv(GIT_NOTES_DISPLAY_REF_ENVIRONMENT); if (display_ref_env) { string_list_add_refs_from_colon_sep(&display_notes_refs, display_ref_env); load_config_refs = 0; } else load_config_refs = 1; } git_config(notes_display_config, &load_config_refs); if (opt) { struct string_list_item *item; for_each_string_list_item(item, &opt->extra_notes_refs) string_list_add_refs_by_glob(&display_notes_refs, item->string); } display_notes_trees = load_notes_trees(&display_notes_refs, 0); string_list_clear(&display_notes_refs, 0); }
struct notes_rewrite_cfg *init_copy_notes_for_rewrite(const char *cmd) { struct notes_rewrite_cfg *c = xmalloc(sizeof(struct notes_rewrite_cfg)); const char *rewrite_mode_env = getenv(GIT_NOTES_REWRITE_MODE_ENVIRONMENT); const char *rewrite_refs_env = getenv(GIT_NOTES_REWRITE_REF_ENVIRONMENT); c->cmd = cmd; c->enabled = 1; c->combine = combine_notes_concatenate; c->refs = xcalloc(1, sizeof(struct string_list)); c->refs->strdup_strings = 1; c->refs_from_env = 0; c->mode_from_env = 0; if (rewrite_mode_env) { c->mode_from_env = 1; c->combine = parse_combine_notes_fn(rewrite_mode_env); if (!c->combine) /* * TRANSLATORS: The first %s is the name of * the environment variable, the second %s is * its value. */ error(_("Bad %s value: '%s'"), GIT_NOTES_REWRITE_MODE_ENVIRONMENT, rewrite_mode_env); } if (rewrite_refs_env) { c->refs_from_env = 1; string_list_add_refs_from_colon_sep(c->refs, rewrite_refs_env); } git_config(notes_rewrite_config, c); if (!c->enabled || !c->refs->nr) { string_list_clear(c->refs, 0); free(c->refs); free(c); return NULL; } c->trees = load_notes_trees(c->refs, NOTES_INIT_WRITABLE); string_list_clear(c->refs, 0); free(c->refs); return c; }