From: Christian Couder Date: Thu, 11 Aug 2016 18:45:00 GMT Subject: [PATCH v12 12/13] apply: learn to use a different index file Message-ID: <20160811184501.384-13-chriscool@tuxfamily.org> In-Reply-To: <20160811184501.384-1-chriscool@tuxfamily.org> Sometimes we want to apply in a different index file. Before the apply functionality was libified it was possible to use the GIT_INDEX_FILE environment variable, for this purpose. But now, as the apply functionality has been libified, it should be possible to do that in a libified way. Signed-off-by: Christian Couder --- apply.c | 10 ++++++++-- apply.h | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/apply.c b/apply.c index 2ec2a8a..7e561a4 100644 --- a/apply.c +++ b/apply.c @@ -4674,8 +4674,14 @@ static int apply_patch(struct apply_state *state, state->apply = 0; state->update_index = state->check_index && state->apply; - if (state->update_index && state->newfd < 0) - state->newfd = hold_locked_index(state->lock_file, 1); + if (state->update_index && state->newfd < 0) { + if (state->index_file) + state->newfd = hold_lock_file_for_update(state->lock_file, + state->index_file, + LOCK_DIE_ON_ERROR); + else + state->newfd = hold_locked_index(state->lock_file, 1); + } if (state->check_index && read_cache() < 0) { error(_("unable to read index file")); diff --git a/apply.h b/apply.h index e2b89e8..1ba4f8d 100644 --- a/apply.h +++ b/apply.h @@ -63,6 +63,7 @@ struct apply_state { int unsafe_paths; /* Other non boolean parameters */ + const char *index_file; enum apply_verbosity apply_verbosity; const char *fake_ancestor; const char *patch_input_file; -- 2.9.2.769.gc0f0333