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

Re: GSoC 2019: Git's application submitted

From
Duy Nguyen <pclouds@gmail.com>
Date
Mar 18, 2019, 12:51 UTC
Message-ID
<CACsJy8DtoMMSu5Vm4+ZkeUqCOo7stM4HObLkiSc-nQQV4G=GvA@mail.gmail.com>
In-Reply-To
<CAP8UFD2kt=Rv4pC67q0s+CKjgmBON_KkK09igfwe-0709Di2RQ@mail.gmail.com>

On Mon, Feb 4, 2019 at 4:17 PM Christian Couder <christian.couder@gmail.com> wrote:

Show 22 quoted lines
>
> Hi everyone,
>
> There are now ideas, micro-projects and organization application pages
> for GSoC 2019 on https://git.github.io/
>
> It would be nice to have a few more project ideas.
> https://git.github.io/SoC-2019-Ideas/ currently lists only 2 possible
> projects:
>
> - Unify ref-filter formats with other --pretty formats (which is new)
> - git log --oneline improvements
>
> as I didn't feel that the others were still relevant, though I might be wrong.
>
> As Olga and Thomas told me at the Git Merge that they could be ok to
> co-mentor with me, they are listed as possible mentors for both of
> these projects.
>
> Anyway feel free to comment and suggest improvements on those pages,
> especially the micro-projects and ideas one. Pull requests on
> https://github.com/git/git.github.io/ are very much appreciated.

I'm not opening a pull request because I'm not sure if it's worthy of GSoC (probably 2020, not 2019) but anyway the get_config_* discussion elsewhere reminds me of this.

Currently we have two ways of parsing config files, by a callback that gives you everything and you do whatever you want, and with configset where you can just call "get me this config", "get me that one". The idea is moving most callback-based sites to get_config_ one. Preferably in a declarative style, like 'struct option[]'.

This should reduce some amount of code because all the "if (!strcmp..) var = git_confg..." is handled by a common code. It's easier to read too. And it may open up an opportunity to suggest misspelled config name (a bit far fetched) and list relevant configs of any command, perhaps with a short description of each config variable too. The configset way should be a bit faster too, but I don't think we care about performance at all here.

To handle three-level config like remote.*.url, we can still do it the declarative way by declaring the pattern "remote.*" instead of a fixed variable name which we can't know in advance. There will still be a callback to handle remote.* vars correctly, but the callback should be much smaller and easier to manage, I hope.

-- 
Duy
Previous: Johannes SchindelinNext: Christian Couder
Message 27 of 29 in “GSoC 2019: Git's application submitted”
  1. Christian CouderFeb 4, 2019
  2. Thomas GummererFeb 4, 2019
  3. Thomas GummererFeb 5, 2019
  4. Christian CouderFeb 5, 2019
  5. Thomas GummererFeb 6, 2019
  6. Johannes SchindelinFeb 7, 2019
  7. Thomas GummererFeb 7, 2019
  8. Оля ТележнаяFeb 11, 2019
  9. Christian CouderFeb 11, 2019
  10. Оля ТележнаяFeb 11, 2019
  11. Christian CouderFeb 11, 2019
  12. Elijah NewrenFeb 13, 2019
  13. Christian CouderFeb 14, 2019
  14. Christian CouderFeb 11, 2019
  15. Thomas GummererFeb 11, 2019
  16. Christian CouderFeb 11, 2019
  17. Thomas GummererFeb 12, 2019
  18. Christian CouderFeb 12, 2019
  19. Thomas GummererFeb 12, 2019
  20. Johannes SchindelinFeb 6, 2019
  21. Duy NguyenMar 5, 2019
  22. Duy NguyenMar 5, 2019
  23. Jeff KingMar 6, 2019
  24. Duy NguyenMar 6, 2019
  25. Jeff KingMar 6, 2019
  26. Johannes SchindelinMar 6, 2019
  27. Duy NguyenMar 18, 2019
  28. Christian CouderMar 18, 2019
  29. Christian CouderFeb 4, 2019

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.