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

GSOC application: Network layer for libgit2

From
Carlos Martín Nieto <carlos@cmartin.tk>
Date
Apr 4, 2011, 22:20 UTC
Message-ID
<20110404222051.GB4529@centaur.lab.cmartin.tk>
Hi all,
 I'd like to take part in this year's GSOC adding a/the network layer
to libgit2. I already have some experience with git and libgit2. This
message is mostly in order to get some feedback to the timeline and
goals. I'll send a formal application in a day or two.
 Not studying in the US, I don't have free time that early, so I
expect most of the actual hard coding will be done after the
midterm. By then I do want to have most of the thinking done.
 From reading the documentation, I assume I'll have to write
pack-objects using libgit2, or rather add that support to it in the
library and then write {upload,receive}-pack first mostly as a client
of the library in order to include it in a more library-friendly form
once it works.
 My goal for this project would be to add the object packing code to
libgit2 and, if we want to have pushing and fetching inside the
library, to add this functionality to the library as well. Otherwise,
the client would be useful for later conversion of git.git to libgit2
or as an example for others.
 As for success, I'd rate a success to have the library code merged or
ready to merge both for object packing and network protocol, if it
does go into the library.
 I expect the timeline to be:
 - Pre-coding time: get to know the packed object format better, read
   the documentation and code for it in git.git.
- Up to midterm: due to the difference in lecture times between the US
   and Germany, I won't be able to devote all my time to coding, but I
   expect/hope to have code using the network protocol working by this
   time, as well as a design for object packing (the code has to be
   worthy of a library, so object caches would have to be invalidated
   and other side-effects which come from not being allowed to assume
   the code runs once and then dies).
- Up to the end: get object packing working, thread safety issues,
  reviews, and other misc. library code stuff, including getting
  push/fetch into the library if necessary.
 I've put the network side of things earlier because I expect it to be
'lighter' but I'd be interested to know if people think the order
should be reversed.
 As for previous involvement, I've sent a few small patches to git.git
and larger ones to libgit2. I'm currently writing its config file
support during an internship. In the melange application, I'll post
some gmane links to threads and to my libgit2 fork on gibhub.
 Thanks for your time if you've read this far,
   cmn
-- 
Carlos Martín Nieto | http://cmartin.tk

"¿Cómo voy a decir bobadas si soy mudo?" -- CACHAI
Message 1 of 1 in “GSOC application: Network layer for libgit2”
  1. Carlos Martín NietoApr 4, 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.