apply: split load_preimage() helper function out
Given a patch for a single path, the function apply_data() reads the preimage in core, and applies the change represented in the patch. Separate out the first part that reads the preimage into a separate helper function load_preimage(). Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
@ -3046,10 +3046,10 @@ static int checkout_target(struct cache_entry *ce, struct stat *st)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int apply_data(struct patch *patch, struct stat *st, struct cache_entry *ce)
|
static int load_preimage(struct image *image,
|
||||||
|
struct patch *patch, struct stat *st, struct cache_entry *ce)
|
||||||
{
|
{
|
||||||
struct strbuf buf = STRBUF_INIT;
|
struct strbuf buf = STRBUF_INIT;
|
||||||
struct image image;
|
|
||||||
size_t len;
|
size_t len;
|
||||||
char *img;
|
char *img;
|
||||||
struct patch *tpatch;
|
struct patch *tpatch;
|
||||||
@ -3086,7 +3086,16 @@ static int apply_data(struct patch *patch, struct stat *st, struct cache_entry *
|
|||||||
}
|
}
|
||||||
|
|
||||||
img = strbuf_detach(&buf, &len);
|
img = strbuf_detach(&buf, &len);
|
||||||
prepare_image(&image, img, len, !patch->is_binary);
|
prepare_image(image, img, len, !patch->is_binary);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int apply_data(struct patch *patch, struct stat *st, struct cache_entry *ce)
|
||||||
|
{
|
||||||
|
struct image image;
|
||||||
|
|
||||||
|
if (load_preimage(&image, patch, st, ce) < 0)
|
||||||
|
return -1;
|
||||||
|
|
||||||
if (apply_fragments(&image, patch) < 0)
|
if (apply_fragments(&image, patch) < 0)
|
||||||
return -1; /* note with --reject this succeeds. */
|
return -1; /* note with --reject this succeeds. */
|
||||||
|
Reference in New Issue
Block a user