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

[GSOC] Git Configuration API improvements

From
karthik nayak <karthik.188@gmail.com>
Date
Mar 11, 2014, 13:12 UTC
Message-ID
<CAOLa=ZSKDg9DKxTRMy4yWW7=ZHcudGmK4guYmaP2okxH8Q044Q@mail.gmail.com>
Hello to all,

I'm Karthik Nayak, a Computer Science student from Bangalore India. I will be applying for GSOC 2014. This is my first time applying for GSOC. I have been using Git for a long time now, so it would be an ideal organisation for me to contribute to. As suggested I completed the Micro Project under the guidance of Eric Sunshine.[1]

I went through the Idea's page[2] and the mails corresponding to the topic[3]. Currently we have multiple invocation of git_config() in an individual invocation of git() which is not efficient. Also, it is hard to implement new features, as mentioned -- such as allowing a configuration to be unset.

The basic idea is to use a data structure to store the config, the first time the git_config() is called. And refer to this each and every time we invoke git_config() further. Jeff suggested [4] to use a tree or a mapping of keys to values which are stored in a string. I think that the idea of storing using the config as a tree data structure would be really advantageous.

This would allow us to easily implement modifications later, and can help to easily take care of duplicates being created on multiple usage of config set and unset. As, whenever a node's children have been deleted the node can also be automatically deleted. The tree can be a struct with values, header link and link to other configs. This way we can also create functions to work on the tree easily.

Would be great to hear your thoughts on this topic and also I plan to start creating a proposal. Nice to have any suggestions or feedback of any kind.

Thank you, Karthik

[1] : http://article.gmane.org/gmane.comp.version-control.git/243695/match=karthik+188+gmail+com [2] : http://git.github.io/SoC-2014-Ideas.html [3] : http://article.gmane.org/gmane.comp.version-control.git/243500/match=git+configuration+caching [4] : http://article.gmane.org/gmane.comp.version-control.git/243542

Next: Matthieu Moy
Message 1 of 5 in “[GSOC] Git Configuration API improvements”
  1. karthik nayakMar 11, 2014
  2. Matthieu MoyMar 11, 2014
  3. karthik nayakMar 11, 2014
  4. Jeff KingMar 14, 2014
  5. karthik nayakMar 15, 2014

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.