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

Re: Git GSoC 2014

From
Thomas Rast <tr@thomasrast.ch>
Date
Feb 13, 2014, 21:45 UTC
Message-ID
<87bnya8z6q.fsf@thomasrast.ch>
In-Reply-To
<20140213091037.GA28927@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
>   - somebody to be the backup admin (I am assuming I'll be the primary
>     admin, but as always, if somebody else wants to...)
I can be backup, if Shawn doesn't want it.
>   - ideas ideas ideas
Here's my moonshot:

--- 8< --- Replace object loading/writing layer by libgit2

Git reads objects from storage (loose and packed) through functions in sha1_file.c. Most commands only require very simple, opaque read and write access to the object storage. As a weatherballoon, show that it is feasible to use libgit2 git_odb_* routines for these simple callers.

Aim for passing the git test suite using git_odb_* object storage access, except for tests that verify behavior in the face of storage corruption, replacement objects, alternate storage locations, and similar quirks. Of course it is even better if you pass the test suite without exception.

Language: C
Difficulty: hard
Possible mentors: Thomas Rast and <fill in libgit2 expert>
--- >8 ---

That absolutely requires a co-mentor from the libgit2 side to do, however. Perhaps you could talk someone into it? ;-)

Motivation: I believe that migrating to libgit2 is the better approach,
medium term, than rewriting everything ourselves to be nice, clean and
thread-safe.  I took a shot a while ago at making the pack reading code
thread-safe, but it's adding mess when we could simply replace it all by
the already thread-safe libgit2 calls.  It also helps shake out
incompatibilities in libgit2.
Downside: not listing "code merged" as a goal may not make the project
as shiny, neither for Git nor for the student.
-- 
Thomas Rast
tr@thomasrast.ch
Previous: Jeff KingNext: Junio C Hamano
Message 2 of 15 in “Git GSoC 2014”
  1. Jeff KingFeb 13, 2014
  2. Thomas RastFeb 13, 2014
  3. Junio C HamanoFeb 13, 2014
  4. Thomas RastFeb 14, 2014
  5. David KastrupFeb 14, 2014
  6. Thomas RastFeb 15, 2014
  7. Duy NguyenFeb 15, 2014
  8. David KastrupFeb 15, 2014
  9. Shawn PearceFeb 15, 2014
  10. Vicent MartíFeb 14, 2014
  11. Ramkumar RamachandraFeb 13, 2014
  12. Jeff KingFeb 14, 2014
  13. Ramkumar RamachandraFeb 14, 2014
  14. Jeff KingFeb 14, 2014
  15. Jeff KingFeb 14, 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.