summaryrefslogtreecommitdiff
path: root/diff.c
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2008-01-04 09:16:14 (GMT)
committerJunio C Hamano <gitster@pobox.com>2008-01-05 00:22:01 (GMT)
commite467193ff3f57171c5c3232b4ba3595970efbfb5 (patch)
tree3047e5fd1d47d12f3e3369fa66bfd82aa7dbe518 /diff.c
parent9a1805a8726ee41f25be2e0f2d5f38f1150d38e4 (diff)
downloadgit-e467193ff3f57171c5c3232b4ba3595970efbfb5.zip
git-e467193ff3f57171c5c3232b4ba3595970efbfb5.tar.gz
git-e467193ff3f57171c5c3232b4ba3595970efbfb5.tar.bz2
diff: load funcname patterns in "basic" config
The funcname patterns influence the "comment" on @@ lines of the diff. They are safe to use with plumbing since they don't fundamentally change the meaning of the diff in any way. Since all diff users call either diff_ui_config or diff_basic_config, we can get rid of the lazy reading of the config. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'diff.c')
-rw-r--r--diff.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/diff.c b/diff.c
index 44aa477..4a908b2 100644
--- a/diff.c
+++ b/diff.c
@@ -174,8 +174,6 @@ int git_diff_ui_config(const char *var, const char *value)
if (ep != var + 4) {
if (!strcmp(ep, ".command"))
return parse_lldiff_command(var, ep, value);
- if (!strcmp(ep, ".funcname"))
- return parse_funcname_pattern(var, ep, value);
}
}
@@ -190,6 +188,14 @@ int git_diff_basic_config(const char *var, const char *value)
return 0;
}
+ if (!prefixcmp(var, "diff.")) {
+ const char *ep = strrchr(var, '.');
+ if (ep != var + 4) {
+ if (!strcmp(ep, ".funcname"))
+ return parse_funcname_pattern(var, ep, value);
+ }
+ }
+
return git_default_config(var, value);
}
@@ -1160,7 +1166,6 @@ static const char *funcname_pattern(const char *ident)
{
struct funcname_pattern *pp;
- read_config_if_needed();
for (pp = funcname_pattern_list; pp; pp = pp->next)
if (!strcmp(ident, pp->name))
return pp->pattern;