merge-blobs.c: remove implicit dependency on the_index
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
32eaa46883
commit
f4a55b2797
@ -76,7 +76,7 @@ static void *result(struct merge_list *entry, unsigned long *size)
|
|||||||
their = NULL;
|
their = NULL;
|
||||||
if (entry)
|
if (entry)
|
||||||
their = entry->blob;
|
their = entry->blob;
|
||||||
return merge_blobs(path, base, our, their, size);
|
return merge_blobs(&the_index, path, base, our, their, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void *origin(struct merge_list *entry, unsigned long *size)
|
static void *origin(struct merge_list *entry, unsigned long *size)
|
||||||
|
@ -29,7 +29,12 @@ static void free_mmfile(mmfile_t *f)
|
|||||||
free(f->ptr);
|
free(f->ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void *three_way_filemerge(const char *path, mmfile_t *base, mmfile_t *our, mmfile_t *their, unsigned long *size)
|
static void *three_way_filemerge(struct index_state *istate,
|
||||||
|
const char *path,
|
||||||
|
mmfile_t *base,
|
||||||
|
mmfile_t *our,
|
||||||
|
mmfile_t *their,
|
||||||
|
unsigned long *size)
|
||||||
{
|
{
|
||||||
int merge_status;
|
int merge_status;
|
||||||
mmbuffer_t res;
|
mmbuffer_t res;
|
||||||
@ -42,7 +47,7 @@ static void *three_way_filemerge(const char *path, mmfile_t *base, mmfile_t *our
|
|||||||
*/
|
*/
|
||||||
merge_status = ll_merge(&res, path, base, NULL,
|
merge_status = ll_merge(&res, path, base, NULL,
|
||||||
our, ".our", their, ".their",
|
our, ".our", their, ".their",
|
||||||
&the_index, NULL);
|
istate, NULL);
|
||||||
if (merge_status < 0)
|
if (merge_status < 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
@ -50,7 +55,9 @@ static void *three_way_filemerge(const char *path, mmfile_t *base, mmfile_t *our
|
|||||||
return res.ptr;
|
return res.ptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void *merge_blobs(const char *path, struct blob *base, struct blob *our, struct blob *their, unsigned long *size)
|
void *merge_blobs(struct index_state *istate, const char *path,
|
||||||
|
struct blob *base, struct blob *our,
|
||||||
|
struct blob *their, unsigned long *size)
|
||||||
{
|
{
|
||||||
void *res = NULL;
|
void *res = NULL;
|
||||||
mmfile_t f1, f2, common;
|
mmfile_t f1, f2, common;
|
||||||
@ -83,7 +90,7 @@ void *merge_blobs(const char *path, struct blob *base, struct blob *our, struct
|
|||||||
common.ptr = xstrdup("");
|
common.ptr = xstrdup("");
|
||||||
common.size = 0;
|
common.size = 0;
|
||||||
}
|
}
|
||||||
res = three_way_filemerge(path, &common, &f1, &f2, size);
|
res = three_way_filemerge(istate, path, &common, &f1, &f2, size);
|
||||||
free_mmfile(&common);
|
free_mmfile(&common);
|
||||||
out_free_f2_f1:
|
out_free_f2_f1:
|
||||||
free_mmfile(&f2);
|
free_mmfile(&f2);
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
#ifndef MERGE_BLOBS_H
|
#ifndef MERGE_BLOBS_H
|
||||||
#define MERGE_BLOBS_H
|
#define MERGE_BLOBS_H
|
||||||
|
|
||||||
#include "blob.h"
|
struct blob;
|
||||||
|
struct index_state;
|
||||||
|
|
||||||
extern void *merge_blobs(const char *, struct blob *, struct blob *, struct blob *, unsigned long *);
|
extern void *merge_blobs(struct index_state *, const char *,
|
||||||
|
struct blob *, struct blob *,
|
||||||
|
struct blob *, unsigned long *);
|
||||||
|
|
||||||
#endif /* MERGE_BLOBS_H */
|
#endif /* MERGE_BLOBS_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user