apply: pass apply state to build_fake_ancestor()
authorChristian Couder <christian.couder@gmail.com>
Sun, 4 Sep 2016 20:18:31 +0000 (22:18 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 7 Sep 2016 19:29:54 +0000 (12:29 -0700)
To libify git apply functionality, we will need to read from a
different index file in get_current_sha1(). This index file will be
stored in "struct apply_state", so let's pass the state to
build_fake_ancestor() which will later pass it to get_current_sha1().

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
apply.c
diff --git a/apply.c b/apply.c
index ae220be7f1c1f6f151c0e091358402e88e29af50..a9a743cf9c7ec869aeb4d8f57b12e7bf638c202c 100644 (file)
--- a/apply.c
+++ b/apply.c
@@ -4042,7 +4042,7 @@ static int preimage_sha1_in_gitlink_patch(struct patch *p, unsigned char sha1[20
 }
 
 /* Build an index that contains the just the files needed for a 3way merge */
-static int build_fake_ancestor(struct patch *list, const char *filename)
+static int build_fake_ancestor(struct apply_state *state, struct patch *list)
 {
        struct patch *patch;
        struct index_state result = { NULL };
@@ -4089,12 +4089,13 @@ static int build_fake_ancestor(struct patch *list, const char *filename)
                }
        }
 
-       hold_lock_file_for_update(&lock, filename, LOCK_DIE_ON_ERROR);
+       hold_lock_file_for_update(&lock, state->fake_ancestor, LOCK_DIE_ON_ERROR);
        res = write_locked_index(&result, &lock, COMMIT_LOCK);
        discard_index(&result);
 
        if (res)
-               return error("Could not write temporary index to %s", filename);
+               return error("Could not write temporary index to %s",
+                            state->fake_ancestor);
 
        return 0;
 }
@@ -4709,7 +4710,7 @@ static int apply_patch(struct apply_state *state,
        }
 
        if (state->fake_ancestor &&
-           build_fake_ancestor(list, state->fake_ancestor)) {
+           build_fake_ancestor(state, list)) {
                res = -128;
                goto end;
        }