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

start of git2 (based on libgit2)

From
Motiejus Jakštys <desired.mta@gmail.com>
Date
Mar 25, 2011, 23:12 UTC
Message-ID
<20110325231203.GA7961@jakstys.lt>
Hello,
I wrote similar letter before, but did not receive feedback I was expecting.
I think libgit2 is an amazing thing, and I started writing[1] cli client for
it. This is what it can do now:
    $ git2 rev-list <anything>
Which is roughly equivalent to:
    $ git rev-list HEAD

I do not know how it will figure out past merge history, but that's for the future.

I want to get started with it, but before that I want and discuss some architectural questions.

According to Jeff King[2], I should start with plumbing commands. I agree. However, how deep? I.e. do I have to make sure all git rev-list possible arguments are implemented?

Are we aiming for a distributed 100s of executables architecture (current git), or single huge binary? I would go for single executable for to higher portability. Is that ok?

Build tool. Currently libgit2 uses waf. I am not against it (I've chosen waf for one of my own C++ projects), However, it's too clumsy for me. Is it me who lacks experience? Scons looks much easier for me. Moreover, we do not need automatic configuration, so it makes waf "overfeatured".

Build configuration. Git-send-email is not really a must-have for an embedded device, so we should be able to specify these features in configure-time. How do you think it should be taken care of?

1) <buildtool> configure  --disable-everything --enable-email
2) make menuconfig and enjoy the blue screen of choice
3) anything else?
Waiting for your answers, will go on working.

I am a student and would like to do this take this up in GSOC. I just received a letter from Vicent Marti with sort of confirmation that the project is interesting for the community. I'm happy about it. Currently I am a full-time python programmer, but have done some C++. I created SoundPatty[3], a real-time sound recognition (record) application for my job VoIP recognition needs.

In case you have any questions, opinions, please ask. Thank you.

[1] https://github.com/Motiejus/git2/ [2] http://marc.info/?l=3Dgit&m=3D130081966214059&w=3D4 [3] https://github.com/Motiejus/SoundPatty/ [CV] http://m.jakstys.lt/

Motiejus Jakštys
Next: Vincent van Ravesteijn
Message 1 of 7 in “start of git2 (based on libgit2)”
  1. Motiejus JakštysMar 25, 2011
  2. Vincent van RavesteijnMar 25, 2011
  3. Motiejus JakštysMar 26, 2011
  4. Jeff KingMar 26, 2011
  5. Junio C HamanoMar 27, 2011
  6. Vincent van RavesteijnMar 27, 2011
  7. Sam VilainMar 26, 2011

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.