summaryrefslogtreecommitdiff
path: root/userdiff.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2011-06-29 17:03:10 -0700
committerJunio C Hamano <gitster@pobox.com>2011-06-29 17:03:10 -0700
commitdbae1a13363c45d3f77061f61ca73a0c3ed045cf (patch)
treee20c7222570b55dbcb4ce4cf9bb91ae8149f52ba /userdiff.c
parent5dc6411edc6ed5d822b65b9f5cf61ab6fe6d3fa8 (diff)
parent0508fe533dfe1b890f6a2d31ca42ba25466e8ff5 (diff)
downloadgit-dbae1a13363c45d3f77061f61ca73a0c3ed045cf.tar.gz
Merge branch 'jk/combine-diff-binary-etc'
* jk/combine-diff-binary-etc: combine-diff: respect textconv attributes refactor get_textconv to not require diff_filespec combine-diff: handle binary files as binary combine-diff: calculate mode_differs earlier combine-diff: split header printing into its own function
Diffstat (limited to 'userdiff.c')
-rw-r--r--userdiff.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/userdiff.c b/userdiff.c
index e55310cd02..01d3a8b81e 100644
--- a/userdiff.c
+++ b/userdiff.c
@@ -281,3 +281,20 @@ struct userdiff_driver *userdiff_find_by_path(const char *path)
return NULL;
return userdiff_find_by_name(check.value);
}
+
+struct userdiff_driver *userdiff_get_textconv(struct userdiff_driver *driver)
+{
+ if (!driver->textconv)
+ return NULL;
+
+ if (driver->textconv_want_cache && !driver->textconv_cache) {
+ struct notes_cache *c = xmalloc(sizeof(*c));
+ struct strbuf name = STRBUF_INIT;
+
+ strbuf_addf(&name, "textconv/%s", driver->name);
+ notes_cache_init(c, name.buf, driver->textconv);
+ driver->textconv_cache = c;
+ }
+
+ return driver;
+}