aboutsummaryrefslogtreecommitdiff
path: root/xdiff-interface.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-11-15 12:04:52 +0900
committerJunio C Hamano <gitster@pobox.com>2017-11-15 12:04:52 +0900
commitbb2c9262a5eff9e4d6ddca23f6e0787afbd7b091 (patch)
tree28cff0d13641cf2f64193b73a9d71f6eb31ba814 /xdiff-interface.h
parentfd506238f0f067e5bc2d310882007132364f76f2 (diff)
parent01be97c2b285e8ba377ba58385ef6ad2e7815c93 (diff)
downloadgit-bb2c9262a5eff9e4d6ddca23f6e0787afbd7b091.tar.gz
git-bb2c9262a5eff9e4d6ddca23f6e0787afbd7b091.tar.xz
Merge branch 'sb/diff-color-moved-use-xdl-recmatch' into maint
Instead of using custom line comparison and hashing functions to implement "moved lines" coloring in the diff output, use the pair of these functions from lower-layer xdiff/ code. * sb/diff-color-moved-use-xdl-recmatch: diff.c: get rid of duplicate implementation xdiff-interface: export comparing and hashing strings
Diffstat (limited to 'xdiff-interface.h')
-rw-r--r--xdiff-interface.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/xdiff-interface.h b/xdiff-interface.h
index 6f6ba9095..135fc05d7 100644
--- a/xdiff-interface.h
+++ b/xdiff-interface.h
@@ -29,4 +29,20 @@ extern void xdiff_clear_find_func(xdemitconf_t *xecfg);
extern int git_xmerge_config(const char *var, const char *value, void *cb);
extern int git_xmerge_style;
+/*
+ * Compare the strings l1 with l2 which are of size s1 and s2 respectively.
+ * Returns 1 if the strings are deemed equal, 0 otherwise.
+ * The `flags` given as XDF_WHITESPACE_FLAGS determine how white spaces
+ * are treated for the comparision.
+ */
+extern int xdiff_compare_lines(const char *l1, long s1,
+ const char *l2, long s2, long flags);
+
+/*
+ * Returns a hash of the string s of length len.
+ * The `flags` given as XDF_WHITESPACE_FLAGS determine how white spaces
+ * are treated for the hash.
+ */
+extern unsigned long xdiff_hash_string(const char *s, size_t len, long flags);
+
#endif