Towards Contributors Heaven: from CVS and SVN to EGit/JGit
Matthias Sohn (SAP AG ), Shawn Pearce (Google Inc. ), Robin Rosenberg
Making For Eclipse · Standard (25 mins)
Tags: Committer And Contributor , Emerging Technology , Tools
Tuesday, 16:15, 25 minutes | Grand Ballroom
Git is a distributed SCM, which means every contributor has a full local copy of the complete history of every revision of the project, allowing for independence and unparalleled speed compared to other centralized SCMs. With Git's intelligent branching and merging functionality, combined with a highly optimized network transport protocol, distributed development becomes much more efficient.
Contributors who don't have direct write access to the main repository of an open source project benefit from the distributed nature of Git, as they can still take advantage of the same tools that committers have. This explains the high interest of the Eclipse community to move from CVS and SVN towards Git, in order to ease the life of all contributors, and make the community more productive.
The EGit project is implementing Eclipse tooling on top of JGit, the Java implementation of Git. Both EGit and JGit moved to Eclipse in May 2009 and plan to ship their next releases with Helios.
This talk will give an update on the project progress and more detailed information about the design and features. A demo will illustrate how it's used in its own development process. It will also show how Gerrit Code Review, a JGit based review system developed for the needs of the Android community, can help to further improve the development process.
Matthias is with SAP since 1999. He has held various positions in Technology Development. Currently he is leading the core development infrastructure team in SAP's Java Server and Infrastructure organization. He is involved as a committer on EGit and JGit. In his spare time he enjoys playing the double bass in a symphony orchestra.
Shawn Pearce is the second in command of the Git project. He has been actively involved in the project since early 2006, contributing more than 1300 changes in 3 years. Shawn is the author of git-gui, a Tk based graphical interface shipped with git, and git-fast-import, a stream based import system often used for converting projects to git. Besides being the primary author of both git-gui and git-fast-import, Shawn's opinion, backed by his code, has influenced many key design decisions that form the modern git implementation.
In early 2006 Shawn also founded the JGit project, creating a 100% pure Java reimplementation of the Git version control system. The JGit library can often be found in Java based products that interact with Git, including plugins for Eclipse and NetBeans IDEs, the Hudson CI server, Apache Maven, and Gerrit Code Review, a peer code review system specially designed for Git. Today he continues to develop and maintain JGit, EGit, and Gerrit Code Review.
Robin Rosenberg is an experienced developer at Dewire, well rehearsed in Java, C++ and many other languages, He joined the EGit project in late 2006 and is the second largest contributor to EGit and JGit. His main job consists of software development in finance and telecom, configuration management, tool and process support for other developers.