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

Implementing reftable in Git

From
Christian Couder <christian.couder@gmail.com>
Date
May 9, 2018, 14:33 UTC
Message-ID
<CAP8UFD0PPZSjBnxCA7ez91vBuatcHKQ+JUWvTD1iHcXzPBjPBg@mail.gmail.com>
Hi,
I might start working on implementing reftable in Git soon.

During the last Git Merge conference last March Stefan talked about reftable. In Alex Vandiver's notes [1] it is asked that people announce it on the list when they start working on it, and it appears that there is a reference implementation in JGit.

Looking it up, there is indeed some documentation [2], code [3], tests [4] and other related stuff [5] in the JGit repo. It looks like the JGit repo and the reftable code there are licensed under the Eclipse Distribution License - v 1.0 [7] which is very similar to the 3-Clause BSD License also called Modified BSD License which is GPL compatible according to gnu.org [9]. So from a quick look it appears that I should be able to port the JGit to Git if I just keep the copyright and license header comments in all the related files.

So I think the most straightforward and compatible way to do it would be to port the JGit implementation.

Thanks in advance for any suggestion or comment about this.

Reftable was first described by Shawn and then discussed last July on the list [6].

My work on this would be sponsored by Booking.com.

Thanks, Christian.

[1] https://public-inbox.org/git/alpine.DEB.2.20.1803091557510.23109@alexmv-linux/
[2] https://github.com/eclipse/jgit/blob/master/Documentation/technical/reftable.md
[3] https://github.com/eclipse/jgit/tree/master/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/reftable
[4] https://github.com/eclipse/jgit/tree/master/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/reftable
[5] https://github.com/eclipse/jgit/tree/master/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/debug
[6] https://public-inbox.org/git/CAJo=hJtyof=HRy=2sLP0ng0uZ4=S-DpZ5dR1aF+VHVETKG20OQ@mail.gmail.com/
[7] http://www.eclipse.org/org/documents/edl-v10.php
[8] https://opensource.org/licenses/BSD-3-Clause
[9] https://www.gnu.org/licenses/license-list.en.html#ModifiedBSD
Next: Derrick Stolee
Message 1 of 13 in “Implementing reftable in Git”
  1. Christian CouderMay 9, 2018
  2. Derrick StoleeMay 9, 2018
  3. Duy NguyenMay 9, 2018
  4. Jonathan NiederMay 9, 2018
  5. Carlos Martín NietoMay 9, 2018
  6. Jonathan NiederMay 9, 2018
  7. Carlos Martín NietoMay 9, 2018
  8. Stefan BellerMay 9, 2018
  9. Jonathan NiederMay 9, 2018
  10. Stefan BellerMay 9, 2018
  11. Ævar Arnfjörð BjarmasonMay 9, 2018
  12. Michael HaggertyMay 11, 2018
  13. David TurnerMay 11, 2018

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.