Show changes to 16 files +31 −37
Documentation/technical/api-merge.adoc, apply.c, builtin/checkout.c, builtin/merge-file.c, builtin/merge-tree.c, builtin/rerere.c, merge-blobs.c, merge-ll.c, merge-ll.h, merge-ort.c, notes-merge.c, rerere.c, xdiff-interface.c, xdiff/xdiff.h, xdiff/xmerge.c, xdiff/xutils.c
diff --git a/Documentation/technical/api-merge.adoc b/Documentation/technical/api-merge.adoc
index c2ba01828c..b691599393 100644
--- a/Documentation/technical/api-merge.adoc
+++ b/Documentation/technical/api-merge.adoc
@@ -20,11 +20,10 @@ responsible for a few things.
Data structures
---------------
-* `mmbuffer_t`, `mmfile_t`
+* `mmfile_t`
-These store data usable for use by the xdiff backend, for writing and
-for reading, respectively. See `xdiff/xdiff.h` for the definitions
-and `diff.c` for examples.
+This stores a buffer and its size for input to or output from the xdiff
+backend. See `xdiff/xdiff.h` for the definition and `diff.c` for examples.
* `struct ll_merge_options`
diff --git a/apply.c b/apply.c
index f00b7ba4d3..faf3c1dba0 100644
--- a/apply.c
+++ b/apply.c
@@ -3646,7 +3646,7 @@ static int three_way_merge(struct apply_state *state,
{
mmfile_t base_file, our_file, their_file;
struct ll_merge_options merge_opts = LL_MERGE_OPTIONS_INIT;
- mmbuffer_t result = { NULL };
+ mmfile_t result = { NULL };
enum ll_merge_result status;
/* resolve trivial cases first */
diff --git a/builtin/checkout.c b/builtin/checkout.c
index c0f0d2c700..2d575a4f57 100644
--- a/builtin/checkout.c
+++ b/builtin/checkout.c
@@ -320,7 +320,7 @@ static int checkout_merged(int pos, const struct checkout *state,
enum ll_merge_result merge_status;
int status;
struct object_id oid;
- mmbuffer_t result_buf;
+ mmfile_t result_buf;
struct object_id threeway[3];
unsigned mode = 0;
struct ll_merge_options ll_opts = LL_MERGE_OPTIONS_INIT;
diff --git a/builtin/merge-file.c b/builtin/merge-file.c
index 8fa5765239..ddca408c46 100644
--- a/builtin/merge-file.c
+++ b/builtin/merge-file.c
@@ -64,7 +64,7 @@ int cmd_merge_file(int argc,
{
const char *names[3] = { 0 };
mmfile_t mmfs[3] = { 0 };
- mmbuffer_t result = { 0 };
+ mmfile_t result = { 0 };
xmparam_t xmp = { 0 };
int ret = 0, i = 0, to_stdout = 0, object_id = 0;
int quiet = 0;
diff --git a/builtin/merge-tree.c b/builtin/merge-tree.c
index 49f41e520f..552c2ad736 100644
--- a/builtin/merge-tree.c
+++ b/builtin/merge-tree.c
@@ -109,7 +109,7 @@ static void *origin(struct merge_list *entry, size_t *size)
return NULL;
}
-static int show_outf(void *priv UNUSED, mmbuffer_t *mb, int nbuf)
+static int show_outf(void *priv UNUSED, mmfile_t *mb, int nbuf)
{
int i;
for (i = 0; i < nbuf; i++)
diff --git a/builtin/rerere.c b/builtin/rerere.c
index d39c6e8445..ef03b79f5b 100644
--- a/builtin/rerere.c
+++ b/builtin/rerere.c
@@ -16,7 +16,7 @@ static const char * const rerere_usage[] = {
NULL,
};
-static int outf(void *dummy UNUSED, mmbuffer_t *ptr, int nbuf)
+static int outf(void *dummy UNUSED, mmfile_t *ptr, int nbuf)
{
int i;
for (i = 0; i < nbuf; i++)
diff --git a/merge-blobs.c b/merge-blobs.c
index 16a75bd1e3..49dbec9529 100644
--- a/merge-blobs.c
+++ b/merge-blobs.c
@@ -38,7 +38,7 @@ static void *three_way_filemerge(struct index_state *istate,
size_t *size)
{
enum ll_merge_result merge_status;
- mmbuffer_t res;
+ mmfile_t res;
/*
* This function is only used by cmd_merge_tree, which
diff --git a/merge-ll.c b/merge-ll.c
index ef5287dee8..dfed6411a8 100644
--- a/merge-ll.c
+++ b/merge-ll.c
@@ -21,7 +21,7 @@
struct ll_merge_driver;
typedef enum ll_merge_result (*ll_merge_fn)(const struct ll_merge_driver *,
- mmbuffer_t *result,
+ mmfile_t *result,
const char *path,
mmfile_t *orig, const char *orig_name,
mmfile_t *src1, const char *name1,
@@ -56,7 +56,7 @@ void reset_merge_attributes(void)
* Built-in low-levels
*/
static enum ll_merge_result ll_binary_merge(const struct ll_merge_driver *drv UNUSED,
- mmbuffer_t *result,
+ mmfile_t *result,
const char *path UNUSED,
mmfile_t *orig, const char *orig_name UNUSED,
mmfile_t *src1, const char *name1 UNUSED,
@@ -101,7 +101,7 @@ static enum ll_merge_result ll_binary_merge(const struct ll_merge_driver *drv UN
}
static enum ll_merge_result ll_xdl_merge(const struct ll_merge_driver *drv_unused,
- mmbuffer_t *result,
+ mmfile_t *result,
const char *path,
mmfile_t *orig, const char *orig_name,
mmfile_t *src1, const char *name1,
@@ -147,7 +147,7 @@ static enum ll_merge_result ll_xdl_merge(const struct ll_merge_driver *drv_unuse
}
static enum ll_merge_result ll_union_merge(const struct ll_merge_driver *drv_unused,
- mmbuffer_t *result,
+ mmfile_t *result,
const char *path,
mmfile_t *orig, const char *orig_name,
mmfile_t *src1, const char *name1,
@@ -189,7 +189,7 @@ static void create_temp(mmfile_t *src, char *path, size_t len)
* User defined low-level merge driver support.
*/
static enum ll_merge_result ll_ext_merge(const struct ll_merge_driver *fn,
- mmbuffer_t *result,
+ mmfile_t *result,
const char *path,
mmfile_t *orig, const char *orig_name,
mmfile_t *src1, const char *name1,
@@ -403,7 +403,7 @@ static void normalize_file(mmfile_t *mm, const char *path, struct index_state *i
}
}
-enum ll_merge_result ll_merge(mmbuffer_t *result_buf,
+enum ll_merge_result ll_merge(mmfile_t *result_buf,
const char *path,
mmfile_t *ancestor, const char *ancestor_label,
mmfile_t *ours, const char *our_label,
diff --git a/merge-ll.h b/merge-ll.h
index f26aef238d..f95332c682 100644
--- a/merge-ll.h
+++ b/merge-ll.h
@@ -16,7 +16,7 @@
* If you have no special requests, skip this and pass `NULL`
* as the `opts` parameter to use the default options.
*
- * - Allocate an mmbuffer_t variable for the result.
+ * - Allocate an mmfile_t variable for the result.
*
* - Allocate and fill variables with the file's original content
* and two modified versions (using `read_mmfile`, for example).
@@ -100,7 +100,7 @@ enum ll_merge_result {
* `.gitattributes` or `.git/info/attributes` into account.
* Returns 0 for a clean merge.
*/
-enum ll_merge_result ll_merge(mmbuffer_t *result_buf,
+enum ll_merge_result ll_merge(mmfile_t *result_buf,
const char *path,
mmfile_t *ancestor, const char *ancestor_label,
mmfile_t *ours, const char *our_label,
diff --git a/merge-ort.c b/merge-ort.c
index c410a5d353..1d3d193d35 100644
--- a/merge-ort.c
+++ b/merge-ort.c
@@ -2111,7 +2111,7 @@ static int merge_3way(struct merge_options *opt,
const struct object_id *b,
const char *pathnames[3],
const int extra_marker_size,
- mmbuffer_t *result_buf)
+ mmfile_t *result_buf)
{
mmfile_t orig, src1, src2;
struct ll_merge_options ll_opts = LL_MERGE_OPTIONS_INIT;
@@ -2247,7 +2247,7 @@ static int handle_content_merge(struct merge_options *opt,
/* Remaining rules depend on file vs. submodule vs. symlink. */
else if (S_ISREG(a->mode)) {
- mmbuffer_t result_buf;
+ mmfile_t result_buf;
int ret = 0, merge_status;
int two_way;
diff --git a/notes-merge.c b/notes-merge.c
index 118cad2518..d361e70a48 100644
--- a/notes-merge.c
+++ b/notes-merge.c
@@ -355,7 +355,7 @@ static void write_note_to_worktree(const struct object_id *obj,
static int ll_merge_in_worktree(struct notes_merge_options *o,
struct notes_merge_pair *p)
{
- mmbuffer_t result_buf;
+ mmfile_t result_buf;
mmfile_t base, local, remote;
enum ll_merge_result status;
diff --git a/rerere.c b/rerere.c
index 856347c9ae..8696f8e7b7 100644
--- a/rerere.c
+++ b/rerere.c
@@ -597,7 +597,7 @@ int rerere_remaining(struct repository *r, struct string_list *merge_rr)
*/
static int try_merge(struct index_state *istate,
const struct rerere_id *id, const char *path,
- mmfile_t *cur, mmbuffer_t *result)
+ mmfile_t *cur, mmfile_t *result)
{
enum ll_merge_result ret;
mmfile_t base = {NULL, 0}, other = {NULL, 0};
@@ -638,7 +638,7 @@ static int merge(struct index_state *istate, const struct rerere_id *id, const c
int ret;
struct strbuf buf = STRBUF_INIT;
mmfile_t cur = {NULL, 0};
- mmbuffer_t result = {NULL, 0};
+ mmfile_t result = {NULL, 0};
/*
* Normalize the conflicts in path and write it out to
@@ -947,7 +947,7 @@ static int handle_cache(struct index_state *istate,
const char *path, unsigned char *hash, const char *output)
{
mmfile_t mmfile[3] = {{NULL}};
- mmbuffer_t result = {NULL, 0};
+ mmfile_t result = {NULL, 0};
const struct cache_entry *ce;
int pos, len, i, has_conflicts;
struct rerere_io_mem io;
@@ -1040,7 +1040,7 @@ static int rerere_forget_one_path(struct index_state *istate,
id->variant < id->collection->status_nr;
id->variant++) {
mmfile_t cur;
- mmbuffer_t result = {NULL, 0};
+ mmfile_t result = {NULL, 0};
int cleanly_resolved;
if (!has_rerere_resolution(id))
diff --git a/xdiff-interface.c b/xdiff-interface.c
index e3dd2184ae..bc340d5a8a 100644
--- a/xdiff-interface.c
+++ b/xdiff-interface.c
@@ -53,7 +53,7 @@ static int consume_one(void *priv_, char *s, unsigned long size)
return 0;
}
-static int xdiff_outf(void *priv_, mmbuffer_t *mb, int nbuf)
+static int xdiff_outf(void *priv_, mmfile_t *mb, int nbuf)
{
struct xdiff_emit_state *priv = priv_;
int i;
diff --git a/xdiff/xdiff.h b/xdiff/xdiff.h
index dc370712e9..334eb436f6 100644
--- a/xdiff/xdiff.h
+++ b/xdiff/xdiff.h
@@ -73,11 +73,6 @@ typedef struct s_mmfile {
long size;
} mmfile_t;
-typedef struct s_mmbuffer {
- char *ptr;
- long size;
-} mmbuffer_t;
-
typedef struct s_xpparam {
unsigned long flags;
@@ -96,7 +91,7 @@ typedef struct s_xdemitcb {
long old_begin, long old_nr,
long new_begin, long new_nr,
const char *func, long funclen);
- int (*out_line)(void *, mmbuffer_t *, int);
+ int (*out_line)(void *, mmfile_t *, int);
} xdemitcb_t;
typedef long (*find_func_t)(const char *line, long line_len, char *buffer, long buffer_size, void *priv);
@@ -144,7 +139,7 @@ typedef struct s_xmparam {
#define DEFAULT_CONFLICT_MARKER_SIZE 7
int xdl_merge(mmfile_t *orig, mmfile_t *mf1, mmfile_t *mf2,
- xmparam_t const *xmp, mmbuffer_t *result);
+ xmparam_t const *xmp, mmfile_t *result);
#ifdef __cplusplus
}
diff --git a/xdiff/xmerge.c b/xdiff/xmerge.c
index 659ad4ec97..7b37968d25 100644
--- a/xdiff/xmerge.c
+++ b/xdiff/xmerge.c
@@ -504,7 +504,7 @@ static int xdl_simplify_non_conflicts(xdfenv_t *xe1, xdmerge_t *m,
*/
static int xdl_do_merge(xdfenv_t *xe1, xdchange_t *xscr1,
xdfenv_t *xe2, xdchange_t *xscr2,
- xmparam_t const *xmp, mmbuffer_t *result)
+ xmparam_t const *xmp, mmfile_t *result)
{
xdmerge_t *changes, *c;
xpparam_t const *xpp = &xmp->xpp;
@@ -682,7 +682,7 @@ static int xdl_do_merge(xdfenv_t *xe1, xdchange_t *xscr1,
}
int xdl_merge(mmfile_t *orig, mmfile_t *mf1, mmfile_t *mf2,
- xmparam_t const *xmp, mmbuffer_t *result)
+ xmparam_t const *xmp, mmfile_t *result)
{
xdchange_t *xscr1 = NULL, *xscr2 = NULL;
xdfenv_t xe1, xe2;
diff --git a/xdiff/xutils.c b/xdiff/xutils.c
index 9a999acdc0..4215f646c5 100644
--- a/xdiff/xutils.c
+++ b/xdiff/xutils.c
@@ -39,7 +39,7 @@ uint64_t xdl_bogosqrt(uint64_t n) {
int xdl_emit_diffrec(char const *rec, long size, char const *pre, long psize,
xdemitcb_t *ecb) {
int i = 2;
- mmbuffer_t mb[3];
+ mmfile_t mb[3];
mb[0].ptr = (char *) pre;
mb[0].size = psize;
@@ -392,7 +392,7 @@ static int xdl_format_hunk_hdr(long s1, long c1, long s2, long c2,
const char *func, long funclen,
xdemitcb_t *ecb) {
int nb = 0;
- mmbuffer_t mb;
+ mmfile_t mb;
char buf[128];
memcpy(buf, "@@ -", 4);