rebase: Support preserving merges in non-interactive mode
[gitweb.git] / xdiff-interface.h
index f6a1ec2220512b9aff5c69c4a7f94b0af0dbe3e2..eaf9cd34981695fc8d12fd35d01ceae93b22254d 100644 (file)
@@ -2,20 +2,13 @@
 #define XDIFF_INTERFACE_H
 
 #include "xdiff/xdiff.h"
-#include "strbuf.h"
-
-struct xdiff_emit_state;
 
 typedef void (*xdiff_emit_consume_fn)(void *, char *, unsigned long);
 
-struct xdiff_emit_state {
-       xdiff_emit_consume_fn consume;
-       struct strbuf remainder;
-};
-
 int xdi_diff(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp, xdemitconf_t const *xecfg, xdemitcb_t *ecb);
 int xdi_diff_outf(mmfile_t *mf1, mmfile_t *mf2,
-                 struct xdiff_emit_state *state, xpparam_t const *xpp,
+                 xdiff_emit_consume_fn fn, void *consume_callback_data,
+                 xpparam_t const *xpp,
                  xdemitconf_t const *xecfg, xdemitcb_t *xecb);
 int parse_hunk_header(char *line, int len,
                      int *ob, int *on,
@@ -23,6 +16,8 @@ int parse_hunk_header(char *line, int len,
 int read_mmfile(mmfile_t *ptr, const char *filename);
 int buffer_is_binary(const char *ptr, unsigned long size);
 
-extern void xdiff_set_find_func(xdemitconf_t *xecfg, const char *line);
+extern void xdiff_set_find_func(xdemitconf_t *xecfg, const char *line, int cflags);
+extern int git_xmerge_config(const char *var, const char *value, void *cb);
+extern int git_xmerge_style;
 
 #endif