{"thread":{"id":"64943","subject":"[RFC GSoC PATCH v3 0/2] Make read_attr() repository-aware by introducing a lazy bare state","startedAt":"2026-02-08T06:30:02Z","lastAt":"2026-02-19T15:01:29Z","messageCount":4,"participants":["Ayush Jha","Phillip Wood"],"isPatch":true,"patchVersion":3,"patchTotal":2},"messages":[{"id":"535468","messageId":"20260208062949.596-1-kumarayushjha123@gmail.com","threadId":"64943","inReplyTo":null,"subject":"[RFC GSoC PATCH v3 0/2] Make read_attr() repository-aware by introducing a lazy bare state","fromName":"Ayush Jha","fromEmail":"kumarayushjha123@gmail.com","sentAt":"2026-02-08T06:29:47Z","receivedAt":"2026-02-08T06:30:02Z","isPatch":true,"sender":{"key":"kumarayushjha123@gmail.com","avatar":null},"body":"This patch series is v3 of an earlier RFC that aimed to remove the\ndependency on the global `the_repository` from read_attr().\n\nBased on feedback from Lucas Seiki Oshiro and Junio C Hamano, this\niteration introduces a repository-scoped, lazily initialized \"bare\"\nstate in struct repo_settings, exposed via repo_settings_get_is_bare().\nThe read_attr() function is then updated to use this helper instead of\nis_bare_repository().\n\nThe series is split as follows:\n  1/2 repo-settings: add repo_settings_get_is_bare\n  2/2 attr: use local repository state in read_attr\n\nComments and suggestions are welcome.\n\nAyush Jha (2):\n  repo-settings: add repo_settings_get_is_bare\n  attr: use local repository state in read_attr\n\n attr.c          |  3 ++-\n repo-settings.c | 12 ++++++++++++\n repo-settings.h |  5 +++++\n 3 files changed, 19 insertions(+), 1 deletion(-)\n\n-- \n2.53.0.windows.1\n\n"},{"id":"536391","messageId":"CAFNBzOeUcSYBfQwDSV7ZVrAdDNqNohmVG=JuYzxQC0DgM2snUQ@mail.gmail.com","threadId":"64943","inReplyTo":"20260208062949.596-1-kumarayushjha123@gmail.com","subject":"Re: [RFC GSoC PATCH v3 0/2] Make read_attr() repository-aware by introducing a lazy bare state","fromName":"Ayush Jha","fromEmail":"kumarayushjha123@gmail.com","sentAt":"2026-02-19T09:42:35Z","receivedAt":"2026-02-19T09:42:49Z","isPatch":true,"sender":{"key":"kumarayushjha123@gmail.com","avatar":null},"body":"Hi all,\n\nI wanted to gently follow up on this RFC series in case it may have\nbeen missed in the thread. I would really appreciate any feedback\nwhenever you have time.\n\nIf there are concerns, suggestions, or areas that need clarification,\nI’d be happy to revise the series accordingly.\n\nThank you for your time and review.\n\nBest regards,\nAyush\n\nOn Sun, Feb 8, 2026 at 12:00 PM Ayush Jha <kumarayushjha123@gmail.com> wrote:\n>\n> This patch series is v3 of an earlier RFC that aimed to remove the\n> dependency on the global `the_repository` from read_attr().\n>\n> Based on feedback from Lucas Seiki Oshiro and Junio C Hamano, this\n> iteration introduces a repository-scoped, lazily initialized \"bare\"\n> state in struct repo_settings, exposed via repo_settings_get_is_bare().\n> The read_attr() function is then updated to use this helper instead of\n> is_bare_repository().\n>\n> The series is split as follows:\n>   1/2 repo-settings: add repo_settings_get_is_bare\n>   2/2 attr: use local repository state in read_attr\n>\n> Comments and suggestions are welcome.\n>\n> Ayush Jha (2):\n>   repo-settings: add repo_settings_get_is_bare\n>   attr: use local repository state in read_attr\n>\n>  attr.c          |  3 ++-\n>  repo-settings.c | 12 ++++++++++++\n>  repo-settings.h |  5 +++++\n>  3 files changed, 19 insertions(+), 1 deletion(-)\n>\n> --\n> 2.53.0.windows.1\n>\n"},{"id":"536394","messageId":"0d6c5b14-1c53-4372-8395-7c7cba9fbf0b@gmail.com","threadId":"64943","inReplyTo":"20260208062949.596-1-kumarayushjha123@gmail.com","subject":"Re: [RFC GSoC PATCH v3 0/2] Make read_attr() repository-aware by introducing a lazy bare state","fromName":"Phillip Wood","fromEmail":"phillip.wood123@gmail.com","sentAt":"2026-02-19T10:42:24Z","receivedAt":"2026-02-19T10:42:28Z","isPatch":true,"sender":{"key":"phillip.wood@dunelm.org.uk","avatar":null},"body":"Hi Ayush\n\nOn 08/02/2026 06:29, Ayush Jha wrote:\n> This patch series is v3 of an earlier RFC that aimed to remove the\n> dependency on the global `the_repository` from read_attr().\n> \n> Based on feedback from Lucas Seiki Oshiro and Junio C Hamano, this\n> iteration introduces a repository-scoped, lazily initialized \"bare\"\n> state in struct repo_settings, exposed via repo_settings_get_is_bare().\n> The read_attr() function is then updated to use this helper instead of\n> is_bare_repository().\n\nDoesn't the lazy initialization here suffer from the same problems that \nJunio explained in https://lore.kernel.org/xmqqpl63b2tm.fsf@gitster.g ? \nChanging config settings that are currently parsed eagerly to being \nparsed lazily opens up a whole can of worms and is best avoided. As \nJunio said Bello Olamide is exploring a different approach that avoids \nthe lazy parsing.\n\nThanks\n\nPhillip\n\n> The series is split as follows:\n>    1/2 repo-settings: add repo_settings_get_is_bare\n>    2/2 attr: use local repository state in read_attr\n> \n> Comments and suggestions are welcome.\n> \n> Ayush Jha (2):\n>    repo-settings: add repo_settings_get_is_bare\n>    attr: use local repository state in read_attr\n> \n>   attr.c          |  3 ++-\n>   repo-settings.c | 12 ++++++++++++\n>   repo-settings.h |  5 +++++\n>   3 files changed, 19 insertions(+), 1 deletion(-)\n> \n\n"},{"id":"536410","messageId":"CAFNBzOeSa-wiLDWO7P7MdVvMAbAJwt7DL8N3SgWA1HfnUG10gw@mail.gmail.com","threadId":"64943","inReplyTo":"0d6c5b14-1c53-4372-8395-7c7cba9fbf0b@gmail.com","subject":"Re: [RFC GSoC PATCH v3 0/2] Make read_attr() repository-aware by introducing a lazy bare state","fromName":"Ayush Jha","fromEmail":"kumarayushjha123@gmail.com","sentAt":"2026-02-19T15:01:13Z","receivedAt":"2026-02-19T15:01:29Z","isPatch":true,"sender":{"key":"kumarayushjha123@gmail.com","avatar":null},"body":"Hi Phillip,\n\nAfter revisiting this earlier patch in light of the recent discussion,\nand based on my current understanding, I agree that this change falls\nunder the same lazy-parsing concerns that Junio previously\nhighlighted.\n\nThank you for pointing that out.\n\nBest regards,\nAyush\n\nOn Thu, Feb 19, 2026 at 4:12 PM Phillip Wood <phillip.wood123@gmail.com> wrote:\n>\n> Hi Ayush\n>\n> On 08/02/2026 06:29, Ayush Jha wrote:\n> > This patch series is v3 of an earlier RFC that aimed to remove the\n> > dependency on the global `the_repository` from read_attr().\n> >\n> > Based on feedback from Lucas Seiki Oshiro and Junio C Hamano, this\n> > iteration introduces a repository-scoped, lazily initialized \"bare\"\n> > state in struct repo_settings, exposed via repo_settings_get_is_bare().\n> > The read_attr() function is then updated to use this helper instead of\n> > is_bare_repository().\n>\n> Doesn't the lazy initialization here suffer from the same problems that\n> Junio explained in https://lore.kernel.org/xmqqpl63b2tm.fsf@gitster.g ?\n> Changing config settings that are currently parsed eagerly to being\n> parsed lazily opens up a whole can of worms and is best avoided. As\n> Junio said Bello Olamide is exploring a different approach that avoids\n> the lazy parsing.\n>\n> Thanks\n>\n> Phillip\n>\n> > The series is split as follows:\n> >    1/2 repo-settings: add repo_settings_get_is_bare\n> >    2/2 attr: use local repository state in read_attr\n> >\n> > Comments and suggestions are welcome.\n> >\n> > Ayush Jha (2):\n> >    repo-settings: add repo_settings_get_is_bare\n> >    attr: use local repository state in read_attr\n> >\n> >   attr.c          |  3 ++-\n> >   repo-settings.c | 12 ++++++++++++\n> >   repo-settings.h |  5 +++++\n> >   3 files changed, 19 insertions(+), 1 deletion(-)\n> >\n>\n"}]}