diff --git a/archive.c b/archive.c index c81e35bf23..aca9179d03 100644 --- a/archive.c +++ b/archive.c @@ -274,7 +274,7 @@ int write_archive_entries(struct archiver_args *args, init_tree_desc(&t, args->tree->buffer, args->tree->size); if (unpack_trees(1, &t, &opts)) return -1; - git_attr_set_direction(GIT_ATTR_INDEX, &the_index); + git_attr_set_direction(GIT_ATTR_INDEX); } err = read_tree_recursive(args->tree, "", 0, 0, &args->pathspec, diff --git a/attr.c b/attr.c index 863fad3bd1..98e4953f6e 100644 --- a/attr.c +++ b/attr.c @@ -708,10 +708,8 @@ static struct attr_stack *read_attr_from_array(const char **list) * another thread could potentially be calling into the attribute system. */ static enum git_attr_direction direction; -static const struct index_state *use_index; -void git_attr_set_direction(enum git_attr_direction new_direction, - const struct index_state *istate) +void git_attr_set_direction(enum git_attr_direction new_direction) { if (is_bare_repository() && new_direction != GIT_ATTR_INDEX) BUG("non-INDEX attr direction in a bare repo"); @@ -720,7 +718,6 @@ void git_attr_set_direction(enum git_attr_direction new_direction, drop_all_attr_stacks(); direction = new_direction; - use_index = istate; } static struct attr_stack *read_attr_from_file(const char *path, int macro_ok) @@ -750,17 +747,11 @@ static struct attr_stack *read_attr_from_index(const struct index_state *istate, struct attr_stack *res; char *buf, *sp; int lineno = 0; - const struct index_state *to_read_from; - /* - * Temporary workaround for c24f3abace (apply: file commited - * with CRLF should roundtrip diff and apply - 2017-08-19) - */ - to_read_from = use_index ? use_index : istate; - if (!to_read_from) + if (!istate) return NULL; - buf = read_blob_data_from_index(to_read_from, path, NULL); + buf = read_blob_data_from_index(istate, path, NULL); if (!buf) return NULL; diff --git a/attr.h b/attr.h index 3daca3c0cb..01dab4a126 100644 --- a/attr.h +++ b/attr.h @@ -77,8 +77,7 @@ enum git_attr_direction { GIT_ATTR_CHECKOUT, GIT_ATTR_INDEX }; -void git_attr_set_direction(enum git_attr_direction new_direction, - const struct index_state *istate); +void git_attr_set_direction(enum git_attr_direction new_direction); void attr_start(void); diff --git a/builtin/check-attr.c b/builtin/check-attr.c index f7b59993d3..c05573ff9c 100644 --- a/builtin/check-attr.c +++ b/builtin/check-attr.c @@ -120,7 +120,7 @@ int cmd_check_attr(int argc, const char **argv, const char *prefix) } if (cached_attrs) - git_attr_set_direction(GIT_ATTR_INDEX, NULL); + git_attr_set_direction(GIT_ATTR_INDEX); doubledash = -1; for (i = 0; doubledash < 0 && i < argc; i++) { diff --git a/unpack-trees.c b/unpack-trees.c index 14e9043f9d..f25089b878 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -353,7 +353,7 @@ static int check_updates(struct unpack_trees_options *o) progress = get_progress(o); if (o->update) - git_attr_set_direction(GIT_ATTR_CHECKOUT, index); + git_attr_set_direction(GIT_ATTR_CHECKOUT); if (should_update_submodules() && o->update && !o->dry_run) load_gitmodules_file(index, NULL); @@ -413,7 +413,7 @@ static int check_updates(struct unpack_trees_options *o) stop_progress(&progress); errs |= finish_delayed_checkout(&state); if (o->update) - git_attr_set_direction(GIT_ATTR_CHECKIN, NULL); + git_attr_set_direction(GIT_ATTR_CHECKIN); return errs != 0; }