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
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to