Subject: Re: [PATCH v2 00/18] Maintenance builtin, allowing 'gc --auto' customization

From: Emily Shaffer <[email-masked]>
Date: Wed, 29 Jul 2020 15:03:02 -0700

On Thu, Jul 23, 2020 at 05:56:22PM +0000, Derrick Stolee via GitGitGadget wrote:
> UPDATES in V2
> =============
> 
> I'm sending this between v2.28.0-rc2 adn v2.28.0 as the release things have
> become a bit quiet.
> 
>  * The biggest disruption to the range-diff is that I removed the premature
>    use of struct repository *r and instead continue to rely on 
>    the_repository. This means several patches were dropped that did prep
>    work in builtin/gc.c.
>    
>    
>  * I dropped the task hashmap and opted for a linear scan. This task list
>    will always be too small to justify the extra complication of the
>    hashmap.
>    
>    
>  * struct maintenance_opts is properly static now.
>    
>    
>  * Some tasks are renamed: fetch -> prefetch, pack-files ->
>    incremental-repack.
>    
>    
>  * With the rename, the prefetch task uses refs/prefetch/ instead of 
>    refs/hidden/.
>    
>    
>  * A trace2 region around the task executions are added.
>    
>    
> 
> Thanks, -Stolee

FYI: We covered this series in review club (me, Jonathan Tan, Jonathan
Nieder) so I'll send some mails with comments from all three of us.

We noticed reviewing that it looks like it's time to focus on the
details because the big picture of this series looks good. Since we were
able to review each patch independently, the approach you took to
separate the commits seems effective.

One concern I (Emily) had was about the use of midx without necessarily
checking the config, where users can opt out of using it. What are the
consequences of running maintenance that creates a multipack index
without the config turned on for the rest of Git?

 - Emily