[PATCH v12 12/13] apply: learn to use a different index file
- From
Christian Couder <christian.couder@gmail.com>
- Date
- Aug 11, 2016, 18:45 UTC
- 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 <chriscool@tuxfamily.org> --- 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