Subject: Re: [GSoC] What is status of Git's Google Summer of Code 2008 projects?

From: Jakub Narebski <[email-masked]>
Date: Thu, 14 Aug 2008 04:57:54 +0200

Now that according to Google Summer of Code 2008 timeline
  http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline
we are in the middle of the suggested 'pencils down' date (August 11 --
-- August 18), I and perhaps other on git mailing list would like
to know what is the current status of all git GSoC 2008 projects.
I think that writing it down would help GSoC manager and co-manager...

Below there are my impressions about state of various Git's Google
Summer of Code 2008 projects, in the sequence the are on Git Wiki
http://git.or.cz/gitwiki/SoC2008Projects (I guess it would be nice
to have final information there after final 'pencils down' date at
18 August 2008).

1. GitTorrent
 
Student: Joshua Roys
Mentor: Sam Vilain

If I remember correctly at midterm it was deemed to be somewhat late;
metainfo was done, tracker was in works, some core infrastructure
and beginnings of peer to peer:
  http://thread.gmane.org/gmane.comp.version-control.git.gittorrent/1

Unfortunately this project, even that is as much tied with git as StGIT,
or egit/jgit, or git-gui or gitk, all of which use git mailing list for 
discussion and patches, choose to have its own separate mailing list; 
moreover I think most of discussion was kept private.

Status: I have no idea how close GitTorrent is to completion (where by 
completion I mean ready, tested and benchmarked code running e.g. on 
kernel.org).  I'm not sure if it is meant to be incorporated in git, 
even in contrib, or remain separate like StGIT, TopGit or jgit.

Student retention: One of reasons in Git application for participating 
in GSoC was having "fresh blood", new long-time contributors.  I have 
vague notion that Joshua is quite active not only with GitTorrent, and 
would stay git contributor...

2. git-statistics

Student: Sverre Rabbelier
Mentor: David Symonds

GitStat development is finished at least with respect to GSoC 2008, see
http://thread.gmane.org/gmane.comp.version-control.git/90691 (for the 
tax reasons), although I guess its development will continue.  

Status: Finished, I think also accepted: what is left is to put it 
eventually in 'contrib/gitstat' or 'contrib/stats'

Student retention: Sverre has said if I remember correctly that he wants 
to work on improving '--follow', which now works only for very simple 
histories, for GitStats to be better among others.

3. Gitweb caching

Student: Lea Wiemann
Mentor: John 'warthog' Hawley

There are new tests for gitweb (to check if caching would not break 
anything new: it did caught a few breakages), new object Perl API to 
git, and gitweb caching implemented using caching data at the level 
slightly above calling git commands.  But full code (tests, Perl API 
and changes to gitweb) are only after first, maybe second round of 
review.  In short, it looks like it is 90% done, as in: "The first 
ninety percent of the task takes ninety percent of the time, and the 
last ten percent takes the other ninety percent."

There is a test site (live demo) up and running on one of the kernel.org 
machines:
  http://odin3.kernel.org/git-lewiemann/

Status: Seems to done, but: not yet merged in, neither used at 
kernel.org or repo.or.cz (i.e. not as fork of gitweb), and no 
benchmarks.

Student retention: unknown.

4. Eclipse plugin push support
 
Student: Marek Zawirski
Mentor: Shawn O. Pearce

JGit can now create (suboptimal) packs: it can reuse delta, but cannot 
currently create one.  This is used to implement push support in 
jgit/egit.

Status: Done, merged in, and used as example to add for example Amazon's 
S3 support and SFTP transport support.

Student retention: I don't know, but I guess it is likely.

5. git-merge builtin (!!!)

Student: Miklos Vajna
Mentor: Johannes Schindelin

In "What's cooking in git.git (topics)" Junio C Hamano wrote:

  It already is beginning to become clear what 1.6.0 will look like.
  [...]
  * git-merge will be rewritten in C.

Status: Done and merged in.
Student retention: Most likely.

6. git-sequencer

Student: Stephan Beyer
Mentor: Christian Couder, Daniel Barkalow

There was discussion about TODO file format, there is prototype shell 
script implementation, and reimplementing git-rebase--interactive and 
other using it; there is built-in sequencer done or almost done, but I 
don't remember it being sent to git mailing list for review.  
Benchmarks show performance improvements for built-in sequencer 
versions.

Status: AFAIK close to be done.  I don't know about it being merged-in.
Student retention: Likely.

-- 
Jakub Narebski
Poland