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

Re: Core and Not-So Core

From
Jon Seymour <jon.seymour@gmail.com>
Date
May 10, 2005, 16:22 UTC
Message-ID
<2cfc4032050510092238259b63@mail.gmail.com>
In-Reply-To
<1115739511.16187.432.camel@hades.cambridge.redhat.com>
On 5/11/05, David Woodhouse <dwmw2@infradead.org> wrote:
Show 8 quoted lines
> On Wed, 2005-05-11 at 01:00 +1000, Jon Seymour wrote:
> > I have been experimenting with pure-Java implementation of GIT
> > concepts with a goal of eventually providing plugins to Eclipse to
> > allow the Eclipse GUI to interact with GIT repositories.
> 
> It's not April 1st. Why would you want to reimplement it in Java instead
> of just using the existing implementation? Is this a religious issue?
> 

Not really - in the Java world, things are simpler if you don't have to carry around a JNI library - that way, you can just run it wherever a Java interpreter exists and not worry about having someone recompiling the JNI part.

A pure-Java implementation will perform better than a Java-invokes-C-executable approach [ though not, of course, a C-only approach ].

Another benefit of playing around with a Java abstraction is that I can more easily experiment with abstractions than I can in C since the abstraction-facilities of Java more directly support such playing than does C. So, for example, I can easily create a virtual repository which layers a local repository over a remote repository and transparently populates the local repository from the remote repository "on-demand". Of course, this sort of thing can be done in C, but it requires much more "work" to set up the abstractions.

You could perhaps argue that the existing 'C' tools in some way encapsulate access to the repository format. Maybe, but the fact is the rapid adoption of GIT has already effectively fixed the GIT repository format in practice so any change in repository format will require considerable planning anyway - planning that will allow sufficient time for implementations in other languages to catch up.

So, no, it's not a religious issue. If anything, it is being dogmatic to insist that the sacred GIT repository structure only be manipulated by 'C' tools blessed by the hands of Linus.

The concepts in GIT are bigger than the programming language its toolsets are implemented in.

jon.
-- 
homepage: http://www.zeta.org.au/~jon/
blog: http://orwelliantremors.blogspot.com/
Previous: Jon SeymourNext: David Woodhouse
Message 16 of 40 in “Core and Not-So Core”
  1. Jon SeymourMay 10, 2005
  2. David WoodhouseMay 10, 2005
  3. Eduardo Teixeira DiasMay 10, 2005
  4. David WoodhouseMay 10, 2005
  5. Eduardo Teixeira DiasMay 10, 2005
  6. Diego CallejaMay 10, 2005
  7. Eduardo Teixeira DiasMay 10, 2005
  8. Diego CallejaMay 10, 2005
  9. Eduardo Teixeira DiasMay 10, 2005
  10. Eduardo Teixeira DiasMay 10, 2005
  11. Petr BaudisMay 10, 2005
  12. Andreas GalMay 10, 2005
  13. James PurserMay 10, 2005
  14. Christoph HellwigMay 11, 2005
  15. Jon SeymourMay 11, 2005
  16. Jon SeymourMay 10, 2005
  17. David WoodhouseMay 10, 2005
  18. Daniel BarkalowMay 10, 2005
  19. Petr BaudisMay 10, 2005
  20. Jon SeymourMay 11, 2005
  21. Peter WilliamsMay 11, 2005
  22. Nicolas PitreMay 11, 2005
  23. Jon SeymourMay 11, 2005
  24. Noel GrandinMay 11, 2005
  25. Jon SeymourMay 11, 2005
  26. Juliusz ChroboczekMay 18, 2005
  27. Jon SeymourMay 10, 2005
  28. David WoodhouseMay 10, 2005
  29. Jon SeymourMay 10, 2005
  30. Christoph HellwigMay 10, 2005
  31. Rik van RielMay 11, 2005
  32. Jon SeymourMay 11, 2005
  33. Petr BaudisMay 11, 2005
  34. Jon SeymourMay 10, 2005
  35. Davide LibenziMay 10, 2005
  36. Jon SeymourMay 10, 2005
  37. Petr BaudisMay 10, 2005
  38. Jon SeymourMay 10, 2005
  39. Daniel BarkalowMay 11, 2005
  40. Jon SeymourMay 11, 2005

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.