git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [RFC 00/14] convert dir.c to take an index parameter

From
JHJeff Hostetler <git@jeffhostetler.com>
Date
May 8, 2017, 18:00 UTC
Message-ID
<bf76dd64-0d4b-cadd-cf34-ec50e9d6e351@jeffhostetler.com>
In-Reply-To
<20170508171255.GE179149@google.com>
On 5/8/2017 1:12 PM, Brandon Williams wrote:
Show 28 quoted lines
> On 05/06, Junio C Hamano wrote:
>> 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.

Agreed. This looks like a nice start. Jeff

Previous: Brandon Williams
Message 18 of 18 in “[RFC 00/14] convert dir.c to take an index parameter”
  1. Brandon WilliamsMay 5, 2017
  2. 01/14 dir: stop using the index compatibility macrosBrandon Williams, May 5, 2017
  3. 02/14 dir: convert read_skip_worktree_file_from_index to take an indexBrandon Williams, May 5, 2017
  4. 04/14 dir: convert get_dtype to take indexBrandon Williams, May 5, 2017
  5. 05/14 dir: convert dir_add* to take an indexBrandon Williams, May 5, 2017
  6. 06/14 dir: convert last_exclude_matching_from_list to take an indexBrandon Williams, May 5, 2017
  7. 07/14 dir: convert is_excluded_from_list to take an indexBrandon Williams, May 5, 2017
  8. 12/14 dir: convert read_directory_recursive to take an indexBrandon Williams, May 5, 2017
  9. 14/14 dir: convert fill_directory to take an indexBrandon Williams, May 5, 2017
  10. 13/14 dir: convert read_directory to take an indexBrandon Williams, May 5, 2017
  11. 10/14 dir: convert is_excluded to take an indexBrandon Williams, May 5, 2017
  12. 11/14 dir: convert open_cached_dir to take an indexBrandon Williams, May 5, 2017
  13. 08/14 dir: convert add_excludes to take an indexBrandon Williams, May 5, 2017
  14. 03/14 dir: convert directory_exists_in_index to take indexBrandon Williams, May 5, 2017
  15. 09/14 dir: convert prep_exclude to take an indexBrandon Williams, May 5, 2017
  16. Junio C HamanoMay 6, 2017
  17. Brandon WilliamsMay 8, 2017
  18. Jeff HostetlerMay 8, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.