THIS IS A TEST INSTANCE ONLY! REPOSITORIES CAN BE DELETED AT ANY TIME!

Browse Source

log-tree: call load_ref_decorations() in get_name_decoration()

Load a default set of ref name decorations at the first lookup.  This
frees direct and indirect callers from doing so.  They can still do it
if they want to use a filter or are interested in full decorations
instead of the default short ones -- the first load_ref_decorations()
call wins.

This means that the load in builtin/log.c::cmd_log_init_finish() is
respected even if --simplify-by-decoration is given, as the previously
dominating earlier load in handle_revision_opt() is gone.  So a filter
given with --decorate-refs-exclude is used for simplification in that
case, as expected.

Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
tags/v2.24.0-rc0
René Scharfe Junio C Hamano 2 months ago
parent
commit
0cc7380d88
4 changed files with 2 additions and 4 deletions
  1. +1
    -0
      log-tree.c
  2. +0
    -2
      pretty.c
  3. +0
    -1
      revision.c
  4. +1
    -1
      t/t4202-log.sh

+ 1
- 0
log-tree.c View File

@@ -77,6 +77,7 @@ void add_name_decoration(enum decoration_type type, const char *name, struct obj

const struct name_decoration *get_name_decoration(const struct object *obj)
{
load_ref_decorations(NULL, DECORATE_SHORT_REFS);
return lookup_decoration(&name_decoration, obj);
}



+ 0
- 2
pretty.c View File

@@ -1239,11 +1239,9 @@ static size_t format_commit_one(struct strbuf *sb, /* in UTF-8 */
strbuf_addstr(sb, get_revision_mark(NULL, commit));
return 1;
case 'd':
load_ref_decorations(NULL, DECORATE_SHORT_REFS);
format_decorations(sb, commit, c->auto_color);
return 1;
case 'D':
load_ref_decorations(NULL, DECORATE_SHORT_REFS);
format_decorations_extended(sb, commit, c->auto_color, "", ", ", "");
return 1;
case 'S': /* tag/branch like --source */


+ 0
- 1
revision.c View File

@@ -2063,7 +2063,6 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg
revs->simplify_by_decoration = 1;
revs->limited = 1;
revs->prune = 1;
load_ref_decorations(NULL, DECORATE_SHORT_REFS);
} else if (!strcmp(arg, "--date-order")) {
revs->sort_order = REV_SORT_BY_COMMIT_DATE;
revs->topo_order = 1;


+ 1
- 1
t/t4202-log.sh View File

@@ -837,7 +837,7 @@ test_expect_success 'decorate-refs and decorate-refs-exclude' '
test_cmp expect.decorate actual
'

test_expect_failure 'decorate-refs-exclude and simplify-by-decoration' '
test_expect_success 'decorate-refs-exclude and simplify-by-decoration' '
cat >expect.decorate <<-\EOF &&
Merge-tag-reach (HEAD -> master)
reach (tag: reach, reach)


Loading…
Cancel
Save