mirror of
https://github.com/git/git.git
synced 2025-09-10 22:44:50 +02:00
rebase-update-refs: extract load_branch_decorations
Extract load_branch_decorations from todo_list_add_update_ref_commands so it can be re-used in make_script_with_merges. Since it can now be called multiple times, use non-static lists and place it next to load_ref_decorations to re-use the decoration_loaded guard. Signed-off-by: Nicolas Guichard <nicolas@guichard.eu> Acked-by: Phillip Wood <phillip.wood@dunelm.org.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
e4d03b7938
commit
68c9fcb027
21
log-tree.c
21
log-tree.c
@@ -248,6 +248,27 @@ void load_ref_decorations(struct decoration_filter *filter, int flags)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void load_branch_decorations(void)
|
||||||
|
{
|
||||||
|
if (!decoration_loaded) {
|
||||||
|
struct string_list decorate_refs_exclude = STRING_LIST_INIT_NODUP;
|
||||||
|
struct string_list decorate_refs_exclude_config = STRING_LIST_INIT_NODUP;
|
||||||
|
struct string_list decorate_refs_include = STRING_LIST_INIT_NODUP;
|
||||||
|
struct decoration_filter decoration_filter = {
|
||||||
|
.include_ref_pattern = &decorate_refs_include,
|
||||||
|
.exclude_ref_pattern = &decorate_refs_exclude,
|
||||||
|
.exclude_ref_config_pattern = &decorate_refs_exclude_config,
|
||||||
|
};
|
||||||
|
|
||||||
|
string_list_append(&decorate_refs_include, "refs/heads/");
|
||||||
|
load_ref_decorations(&decoration_filter, 0);
|
||||||
|
|
||||||
|
string_list_clear(&decorate_refs_exclude, 0);
|
||||||
|
string_list_clear(&decorate_refs_exclude_config, 0);
|
||||||
|
string_list_clear(&decorate_refs_include, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void show_parents(struct commit *commit, int abbrev, FILE *file)
|
static void show_parents(struct commit *commit, int abbrev, FILE *file)
|
||||||
{
|
{
|
||||||
struct commit_list *p;
|
struct commit_list *p;
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ void log_write_email_headers(struct rev_info *opt, struct commit *commit,
|
|||||||
int *need_8bit_cte_p,
|
int *need_8bit_cte_p,
|
||||||
int maybe_multipart);
|
int maybe_multipart);
|
||||||
void load_ref_decorations(struct decoration_filter *filter, int flags);
|
void load_ref_decorations(struct decoration_filter *filter, int flags);
|
||||||
|
void load_branch_decorations(void);
|
||||||
|
|
||||||
void fmt_output_commit(struct strbuf *, struct commit *, struct rev_info *);
|
void fmt_output_commit(struct strbuf *, struct commit *, struct rev_info *);
|
||||||
void fmt_output_subject(struct strbuf *, const char *subject, struct rev_info *);
|
void fmt_output_subject(struct strbuf *, const char *subject, struct rev_info *);
|
||||||
|
|||||||
11
sequencer.c
11
sequencer.c
@@ -6403,14 +6403,6 @@ static int add_decorations_to_list(const struct commit *commit,
|
|||||||
static int todo_list_add_update_ref_commands(struct todo_list *todo_list)
|
static int todo_list_add_update_ref_commands(struct todo_list *todo_list)
|
||||||
{
|
{
|
||||||
int i, res;
|
int i, res;
|
||||||
static struct string_list decorate_refs_exclude = STRING_LIST_INIT_NODUP;
|
|
||||||
static struct string_list decorate_refs_exclude_config = STRING_LIST_INIT_NODUP;
|
|
||||||
static struct string_list decorate_refs_include = STRING_LIST_INIT_NODUP;
|
|
||||||
struct decoration_filter decoration_filter = {
|
|
||||||
.include_ref_pattern = &decorate_refs_include,
|
|
||||||
.exclude_ref_pattern = &decorate_refs_exclude,
|
|
||||||
.exclude_ref_config_pattern = &decorate_refs_exclude_config,
|
|
||||||
};
|
|
||||||
struct todo_add_branch_context ctx = {
|
struct todo_add_branch_context ctx = {
|
||||||
.buf = &todo_list->buf,
|
.buf = &todo_list->buf,
|
||||||
.refs_to_oids = STRING_LIST_INIT_DUP,
|
.refs_to_oids = STRING_LIST_INIT_DUP,
|
||||||
@@ -6419,8 +6411,7 @@ static int todo_list_add_update_ref_commands(struct todo_list *todo_list)
|
|||||||
ctx.items_alloc = 2 * todo_list->nr + 1;
|
ctx.items_alloc = 2 * todo_list->nr + 1;
|
||||||
ALLOC_ARRAY(ctx.items, ctx.items_alloc);
|
ALLOC_ARRAY(ctx.items, ctx.items_alloc);
|
||||||
|
|
||||||
string_list_append(&decorate_refs_include, "refs/heads/");
|
load_branch_decorations();
|
||||||
load_ref_decorations(&decoration_filter, 0);
|
|
||||||
|
|
||||||
for (i = 0; i < todo_list->nr; ) {
|
for (i = 0; i < todo_list->nr; ) {
|
||||||
struct todo_item *item = &todo_list->items[i];
|
struct todo_item *item = &todo_list->items[i];
|
||||||
|
|||||||
Reference in New Issue
Block a user