On 07-09-2020 00:26, Kaartic Sivaraam wrote:> >> I would appreciate help to find project ideas though. Are there still >> scripts that are worth converting to C (excluding git-bisect.sh and >> git-submodule.sh that are still worked on)? > > I think Dscho's e-mail linked below gives a nice overview of the various > scripts and their likely status as of Jan2020: > > https://lore.kernel.org/git/nycvar.QRO.7.76.6.2001301154170.46@xxxxxxxxxxxxxxxxx/ > > I'm guessing only the status of submodule has changed as it's being > worked on now. > After giving it a second thought, I believe I should take back my word about the git-submodule status changing. There still seems to be some work left for it. To be clear, - there's 'add', whose conversion is currently stalled [1] - there's 'update', which still has a decent amount of code [2] in the shell script. - we still have to complete the conversion completely converting moving the rest of the bits from `git-submodule.sh` to C which is mostly just the option parsing. This might be more trickier than it sounds as we would've to ensure the we don't accidentally change behaviour of the options when moving the option parsing to C. There's also an e-mail from Junio which is relevant [3] I'm not sure if this would be enough for a complete project on it's own. I'm also not sure whether 'add' would get converted in the meantime. In any case, I believe we could add a few other small refactoring projects to make up for the rest of the period. For instance, - Replace more instances of `the_index` and `the_repository` (https://github.com/gitgitgadget/git/issues/379) - Turn the `fetch_if_missing` global into a field of `struct repository` (https://github.com/gitgitgadget/git/issues/251) - Possibly others from #leftoverbits Thoughts? References === [1]: http://public-inbox.org/git/20200824090359.403944-1-shouryashukla.oo@xxxxxxxxx/ [2]: https://github.com/git/git/blob/v2.28.0/git-submodule.sh#L554-L713 [3]: https://lore.kernel.org/git/xmqqtuzrrk8r.fsf@xxxxxxxxxxxxxxxxxxxxxx/ -- Sivaraam