[ACCEPTED]-Confusion in choosing between JavaGit, JGit and EGit-jgit

Accepted answer
Score: 59

You can use JGit as standalone library, but, as 54 mentioned in the JGit Homepage:

JGit can be found within:
* EGit, Eclipse 53 team provider for Git

In that sense, JGit 52 is connected to Eclipse in that EGit uses 51 JGit features to develop the Eclipse Git 50 plugin.
Considering all Eclipse projects 49 are now versioned in Git repos (instead 48 of previously CVS repos), I would consider 47 JGit for your Java project, as it seems 46 that:

  • JavaGit isn't updated for quite some time (2008)
  • Eclipse is committed to offer a good support for Git through EGit, which should ensure by extension the development of JGit (used by EGit).

Thorbjørn Ravn Andersen comments:

Even though you say that 45 Egit uses JGit, it is not quite clear in 44 the above that EGit is an Eclipse plugin 43 for git giving git support in the same way 42 that CVS is already supported in Eclipse

The 41 migration of Eclipse projects from CVS to Git is in progress, and has been reported here (by 40 Chris Aniszczyk).

I’ve monitored conversations 39 concerning the migration of project code 38 from CVS to Git in the dev-lists of several 37 projects.
Most developers, it seems, understand 36 the value proposition of migrating, despite 35 their concerns that with migration comes 34 a whole lot of new learnin’ as they figure 33 out how to say productive in the new environment.

Inevitably, discussion 32 about the team provider for Git being developed 31 by the EGit project becomes an prominent 30 part of the conversation. “Is EGit ready 29 for primetime?” is often the question that 28 bounced around

The official bug illustrated 27 Eclipse commitment to provide "adequate 26 tooling support" for all Eclipse projects 25 now on Git repo is the bug 293192.

In order to deprecate 24 old VCS in favour of git (bug 270854), adequate tooling should 23 be available. This bug is created to track 22 that.
[...] I opened/linked relevant EGit bugs in 21 order to have a better visibility/tracking of 20 what's missing.

So Egit is the only project 19 referenced in that bug to provide said adequate 18 tooling support for the new (D)VCS chosen 17 for all Eclipse projects.

(bug 270854 is about Deprecate old VCS tools, which 16 includes essentially CVS.)

Just in (March 15 17th, 2001): The State of Git at Eclipse – Early 2011 (Chris Aniszczyk):

I’m happy that things have 14 come quite a long way since last year based 13 on Eclipse Marketplace stats and the community 12 contributions the projects have received.

EGit installation rate

So 11 what’s next? In terms of tooling, we’re 10 getting closer to our 1.0 release (which 9 is planned for the Indigo release).
The 8 git tooling at Eclipse is much better these 7 days, if you need help or have questions, please 6 start with the most excellent EGit User Guide.

If you’re 5 an eclipse.org project, please consider starting the 4 process to move your project repository 3 to Git. There are a lot of eclipse.org projects already on Git.
It would be nice to see the 2 all of the eclipse.org projects have plans 1 to move to Git by the Indigo release.

Score: 45

As one of the authors of JGit and EGit, sorry 12 for the confusion.

JGit is an EDL (new-style 11 BSD) licensed, lightweight, pure Java library 10 implementing the Git version control system. It 9 can be used in a standalone fashion and 8 is embedded in applications such as Gerrit, Eclipse, Netbeans 7 and IntelliJ. EGit embeds JGit to use it to 6 work with Git repositories and expose Git 5 constructs from within Eclipse. At the moment, JGit 4 doesn't support the git-bundle command but 3 you're welcome to contribute support, it 2 shouldn't be that hard, please see our contributor 1 guide.

Score: 4

Just to chime in, as I just stumbled on 21 this this question just now.

There is a 20 difference between the Eclipse Foundation 19 and the Eclipse IDE. The Foundation is 18 the umbrella organization, while the IDE 17 is one of the projects developed through 16 the foundation. So, the important thing 15 to know is that just as Apache started with 14 the web server and branched out to become 13 a Foundation hosting a number of projects, so 12 has the Eclipse Foundation now expanded 11 beyond its "roots" in the IDE.

So in this 10 context the JGit code provides a Java API 9 for git commands, while EGit uses JGit to 8 provide git support for the Eclipse IDE.

Personally, I 7 also find this a little confusing at times, and 6 sometimes it almost seems that having so 5 much going on has in some ways degraded 4 the focus of these organizations; however 3 I can also see the utility in having one 2 umbrella organization instead of 20 similar 1 but different organizations.

Score: 3

JGit is git implemented from scratch as 13 a Java library whereas JavaGit is (was ?) a 12 Java API wrapping the native git implementation 11 (i.e. it's calling the native git command 10 line).

EGit is the Git Eclipse Team Provider 9 integrating JGit into the Eclipse IDE and 8 is providing the UI to work with Git from 7 inside Eclipse.

In the meantime a large part 6 of the Eclipse community and also a large 5 number of corporate developers is using 4 EGit/JGit (that's the reason why the companies 3 backing these projects put money into that). See 2 the project pages ([1], [2]) and ohloh if you want 1 to get some insight who is contributing.

Score: 0

JGit is a library to manipulate git repository. You 9 do not use JGit alone, unless you write 8 a program to manipulate git repository in 7 the way you like.

If you use Eclipse as the 6 IDE, you install EGit as a version control 5 plugin (defaulted in Indigo). EGit calls 4 JGit so you also have JGit installed if 3 you install EGit.

Note, for Netbeans, you 2 install NBGit as a version control plugin. NBGit 1 also calls JGit.

JavaGit: not actively maintained?

Score: 0

JGit is the Java implementation of Git. It 8 is a library, that also can be used in your 7 own applications. It also provides some 6 sort of CLI operations. EGit on the other 5 side is the Eclipse team provider plugin 4 for Git, which uses JGit as Git implementation. Simplified 3 you could say EGit is the UI part, and JGit 2 the background part. JGit doesn't depend 1 on EGit, but EGit does depend on JGit.

From: https://www.eclipse.org/forums/index.php/t/273443/

More Related questions