JavaGit is a Java API that provides access to git repositories. Its goal is to provide a library with an easy-to-use API that is intuitive for developers new to git and developers who are veteran git users.
Why would I want to use JavaGit?
So that your java application can access, create and modify git repositories with as little work as possible. Without JavaGit, you will need to write and manage forking code yourself, flex your JNI muscle or reimplement git in Java yourself.
Who are the intended users of JavaGit?
Java developers who want to access, create or modify git repositories from their own applications.
Do I still need git installed?
Yes. JavaGit currently uses the command-line git client to interface with git repositories. There are currently no plans for a pure java git implementation, but we are open to doing such an implementation in the future. If this is super important to you, let us know.
Where can I get the source?
The code is in a publicly accessible SVN repository at:
$ svn checkout https://subversive.cims.nyu.edu/osp/
Isn't using Subversion to host a git oriented program a bit hypocritical?
Yes, it is. We chose subversion for the time being because some of the tools we are using for JavaGit development (Eclipse, Crucible, Fisheye) do not yet interface with git repsitories. Our sister project, Gitclipse, is working to fill the Eclipse-Git void.
Once these tools work sufficiently well with git, we will move over to using git for our repository.
Can I use git to access the source code in the mean time?
Yes, you can! Check out the git-svn command; it works very well.
Is JavaGit under active development?
Extremely. We have commits on a daily basis, just check the SVN log:
$ svn log https://subversive.cims.nyu.edu/osp/javagit
When will an alpha/beta/stable release be available?
We are expecting an alpha release in the next few weeks. We hope to have a beta release by the end of the summer and a stable release soon thereafter.
Why not implement git using java (this way you don't need git installed)?
We'd LOVE to, but unfortunately we don't have the time. We are gladly accepting patches.
How is JavaGit different from Jgit/Egit?
JavaGit was conceived of as a complementary project to the GitClipse projct, an Eclipse plugin to provide git support. It was a logical choice for us to split the project into the user oriented project, Gitclipse, and the developer oriented project, JavaGit. Since the projects are separate, the JavaGit project is free to concentrate on providing a top-notch library/API for use in other applications.
Another difference between JavaGit and Jgit/Egit is that the JavaGit team wanted to quickly implement access to git repositories. This goal lead us to start by forking to git itself to provide git functionality. Knowing that this may be a short-term solution, we built JavaGit so that we can easily replace the command line interface (CLI) functionality with JNI, pure Java, or some other implementation in the future. Jgit/Egit only provides a pure Java implementation.
How can I contribute?
Join the conversation on the developer mailing list. If there is something you want to work on, let us know. If you want to work on the project but don't know where to start, introduce yourself and the team can help you find something to work on. There are lots of things to do.
· Java 2 Standard Edition Runtime Environment