Re: [RFC 00/14] convert dir.c to take an index parameter
On 05/06, Junio C Hamano wrote:
Show 25 quoted lines
> Brandon Williams <bmwill@google.com> writes:
>
> > One of the things brought up on the list in the past few days has been
> > migrating away from using the index compatibility macros. One of the issues
> > brought up in that thread was how simply doing that conversion doesn't
> > eliminate the reliance on global state (specifically the_index). If one day we
> > want to have a 'repository object' passed around then we first need to convert
> > different subsystems to be prepared to handle that. This series provides a
> > first step, converting the code in dir.c to take a 'struct index_state' and
> > using that instead of implicitly using 'the_index'.
>
> Very nicely done (I only skimmed "dir.c" in the end result and didn't
> go through the changes with fine toothed comb, though).
>
> I would have done this without the first step and then instead had a
> final patch that only inserts a single
>
> #define NO_THE_INDEX_COMPATIBILITY_MACROS
>
> at the beginning of dir.c once everybody in dir.c loses the
> reference to all "cache" macros at the end, if I were doing this
> series, but it is a personal taste.
>
> The resulting dir.c does not even refer to the_index, which is very
> nice.
Thanks! I'm glad there's a few people who see this as a positive change.
Show 29 quoted lines
>
> Thanks.
>
> > Brandon Williams (14):
> > dir: stop using the index compatibility macros
> > dir: convert read_skip_worktree_file_from_index to take an index
> > dir: convert directory_exists_in_index to take index
> > dir: convert get_dtype to take index
> > dir: convert dir_add* to take an index
> > dir: convert last_exclude_matching_from_list to take an index
> > dir: convert is_excluded_from_list to take an index
> > dir: convert add_excludes to take an index
> > dir: convert prep_exclude to take an index
> > dir: convert is_excluded to take an index
> > dir: convert open_cached_dir to take an index
> > dir: convert read_directory_recursive to take an index
> > dir: convert read_directory to take an index
> > dir: convert fill_directory to take an index
> >
> > builtin/add.c | 7 +-
> > builtin/check-ignore.c | 3 +-
> > builtin/clean.c | 4 +-
> > builtin/grep.c | 2 +-
> > builtin/ls-files.c | 4 +-
> > dir.c | 200 ++++++++++++++++++++++++++++---------------------
> > dir.h | 27 +++++--
> > unpack-trees.c | 10 +--
> > wt-status.c | 2 +-
> > 9 files changed, 151 insertions(+), 108 deletions(-)
--
Brandon Williams