mirror of
https://github.com/git/git.git
synced 2024-11-23 18:05:29 +08:00
pretty: fix ref filtering for %(decorate) formats
Mark pretty formats containing "%(decorate" as requiring decoration in userformat_find_requirements(), same as "%d" and "%D". Without this, cmd_log_init_finish() didn't invoke load_ref_decorations() with the decoration_filter it puts together, and hence filtering options such as --decorate-refs were quietly ignored. Amend one of the %(decorate) checks in t4205-log-pretty-formats.sh to test this. Signed-off-by: Andy Koppe <andy.koppe@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
1e63b34a44
commit
2b09d16aba
4
pretty.c
4
pretty.c
@ -1961,6 +1961,10 @@ void userformat_find_requirements(const char *fmt, struct userformat_want *w)
|
||||
case 'D':
|
||||
w->decorate = 1;
|
||||
break;
|
||||
case '(':
|
||||
if (starts_with(fmt + 1, "decorate"))
|
||||
w->decorate = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -590,9 +590,9 @@ test_expect_success 'pretty format %decorate' '
|
||||
git log --format="%(decorate:prefix=,suffix=)" -1 >actual2 &&
|
||||
test_cmp expect2 actual2 &&
|
||||
|
||||
echo "[ HEAD -> foo; tag: bar; qux ]" >expect3 &&
|
||||
git log --format="%(decorate:prefix=[ ,suffix= ],separator=%x3B )" \
|
||||
-1 >actual3 &&
|
||||
echo "[ bar; qux; foo ]" >expect3 &&
|
||||
git log --format="%(decorate:prefix=[ ,suffix= ],separator=%x3B ,tag=)" \
|
||||
--decorate-refs=refs/ -1 >actual3 &&
|
||||
test_cmp expect3 actual3 &&
|
||||
|
||||
# Try with a typo (in "separator"), in which case the placeholder should
|
||||
|
Loading…
Reference in New Issue
Block a user