From Git SCM Wiki
Jump to: navigation, search

Table of Contents:


Git Community projects

This year Git was fortunate enough to receive funding for 6 students, and we are looking forward to the successful completion of the following interesting projects:


Student: Joshua Roys
Mentor: Sam Vilain

Josh and Sam will be working to implement native git object transport via a peer-to-peer system, potentially allowing popular projects such as the linux kernel to be available via more servers than just

Idea: GitTorrent at SoC2008Ideas
Homepage: RFC -- GitTorrent Protocol -- GTP/0.1
SoC page: GitTorrent
Google Code: GitTorrent - Peer-to-peer Protocol for Synchronizing of Git Repositories page at Google Code.

Pull: git://
Mailing list: gittorrent at (mailman, archives)

git-statistics (GitStats)

Student: Sverre Rabbelier
Mentor: David Symonds

Sverre and David are looking to mine the commit history of a project and identify "good" changes from "bad" changes. Such information may help maintainers to better judge the risk associated with new changes, and help new contributers to more quickly locate individuals who are experienced in a particular section of code (e.g. automatically identify module maintainers).

Idea: SoC RFC git statistics - information about commits thread on git mailing list
Homepage: Sverre Rabbelier GSoC2008 page (PDFs)
SoC page: git statistics
See also: RFC Use cases for 'git statistics' thread on git mailing list.

Status: [ANNOUNCE] GitStats development finished (WRT GSoC). As a separate tool it is not expected to be merged in.

Gitweb caching

Student: Lea Wiemann
Mentor: John 'warthog' Hawley

Lea and John will be working to port the caching gitweb fork that runs on back into the main tree, as well as implementing even more improved caching for really large sites like,, or anyone else using gitweb for a large number of repositories and users.

Idea: Gitweb caching at SoC2008Ideas
SoC page: Gitweb caching
See also: [RFD] Gitweb caching thread, parts 1-3, by Jakub Narebski

Status: Done, second round of review: Re: [PATCH 0/3] Git::Repo API and gitweb caching. (Unfortunately sending it as huge, large change patches doesn't help reviewability.)

Eclipse plugin push support

Student: Marek Zawirski
Mentor: Shawn O. Pearce

Marek and Shawn will be working to implement pack generation in jgit, allowing the 100% native Java implementation of Git to create pack files locally, as well as upload pack files to a remote repository over the native Git transport. Marek is also looking forward to improving some of the user interface aspects of the Eclipse Git team provider plugin.

Idea: Git Eclipse Plugin at SoC2008Ideas
SoC page: Push operation implementation and GUI improvements for egit Eclipse plugin

Status: Merged in

git-merge builtin

Student: Miklos Vajna
Mentor: Johannes Schindelin

Miklos ported the git-merge shell script to C, permitting it to make use of builtin functions like merge base computation, and making the program overall more portable to non-POSIX systems. Porting some of the popular merge strategies (e.g. git-merge-ours) will be the work of the second half of the GSoC project, as Miklos was too fast with the principal goal.

Idea: Make git-merge and helpers Builtins at SoC2008Ideas
SoC page: Make git-merge Builtin

Status: Merged in


Student: Stephan Beyer
Mentor: Christian Couder, Daniel Barkalow

Stephan, Christian and Daniel will be working to port the current "git rebase --interactive" to C, as well as create a general "commit sequencer" that can be used as the backing implementation for "git-am", all three forms of "git-rebase", and possibly implement an "interactive rebase GUI" within git-gui and/or gitk.

Idea: Implement git-sequencer at SoC2008Ideas
SoC page: implement git-sequencer
See also:

  • Speed up git-svn fetch thread on git mailing list by Adam Roben, about git-cat-file sequencer.
  • [[RFC git-sequencer.txt]] post on git mailing list by Stephan Beyer.

Foreign projects

Git plugin for Anjuta IDE

Support for Git projects in Anjuta IDE

SoC page: Git Version Control Plugin for the Anjuta IDE
Idea: Anjuta GIT plugin at wiki
Organization: GNOME (organization SoC info)
Student: James R. Liggett
Mentor: Naba Kumar
Gitweb: (probably)

KDevelop DVCS support

The purpose of project is to supply KDevelop with generic DVCS support, implement UI support for VCSs and test its functionality on the example of Git.

SoC page: KDevelop DVCS(VCS) support
Organization: KDE (organization SoC info)
Student: Evgeniy Ivanov
Mentor: Oleksandr Dymo
See also: Eric Sink's Source Control HOWTO: Chapter 9: Source Control Integration with IDEs (about advantages and disadvantages of SCM <-> IDE integration; bit outdated wrt. SCMs side).

Git# implementation

There are two projects dealing with fully managed Git implementation (rewrite in C# / Git applications in .NET), both from Mono project.

Organization: Mono Project (organization SoC info)
Idea: Class Libraries and Bindings: GIT# implementation

SoC page: Git# Full Managed Git Implementation
Student: Hector Enrique Gomez Morales
Mentor: Massimiliano Mantione

SoC page: Git# implementation
Student: Igor Guerrero Fonseca
Mentor: Massimiliano Mantione

Repository: git-sharp project.

Status: Nothing came out of it. One student was going to focus on the front-end, the other on the back-end.

DocBox project

DocBox sits on top of RDoc, uses wiki-like interface, and makes use of either Git or SVN version control systems.

SoC page: DocBox: A Wiki frontend to Documentation
Idea: See "RDoc wiki" in Ruby Central Project Ideas for GSoC 2008
Organization: Ruby Central (organization SoC info)
Student: Ian Ownbey
Mentor: Jeremy McAnally


Personal tools