From: Jakub Narebski <jnareb@gmail.com>
To: git@vger.kernel.org
Cc: Sam Vilain <sam@vilain.net>, Joshua Roys <roysjosh@gmail.com>,
Sverre Rabbelier <alturin@gmail.com>,
Sverre Rabbelier <sverre@rabbelier.nl>,
David Symonds <dsymonds@gmail.com>,
Lea Wiemann <LeWiemann@gmail.com>,
John Hawley <warthog19@eaglescrag.net>,
Marek Zawirski <marek.zawirski@gmail.com>,
"Shawn O. Pearce" <spearce@spearce.org>,
Miklos Vajna <vmiklos@frugalware.org>,
Johannes Schindelin <Johannes.Schindelin@gmx.de>,
Stephan Beyer <s-beyer@gmx.net>,
Christian Couder <chriscool@tuxfamily.org>,
Daniel Barkalow <barkalow@iabervon.org>
Subject: Re: [GSoC] What is status of Git's Google Summer of Code 2008 projects?
Date: Mon, 21 Jul 2008 00:29:29 +0200 [thread overview]
Message-ID: <200807210029.31543.jnareb@gmail.com> (raw)
In-Reply-To: <200807080227.43515.jnareb@gmail.com>
On Tue, 8 July 2008, Jakub Narebski wrote:
> I'd very much like to have (or perhaps to wrote) some sort of interim
> progress report for Google Summer of Code 2008 projects on
> http://git.or.cz/gitwiki/SoC2008Projects. Therefore I'd like you to
> expand and/or correct those mini-summaries below.
Here is a bit late summary of this thread (and of information gathered
elsewhere). I'll try to add this information to wiki page in approx
two days from now... of course unless project student or mentor wouldn't
do it first.
1. GitTorrent
Student: Joshua Roys
Mentor: Sam Vilain
I never got more response than "it is going slower than I would like,
[...] Other than that, it's going well, I think." from Joshua Roys.
Mailing list archives for gittorrent mailing list doesn't show anything
interesting, either (last post is from 2007).
http://lists.utsl.gen.nz/pipermail/gittorrent/
Besides canonical repository gitweb
http://utsl.gen.nz/gitweb/?p=VCS-Git-Torrent
there is also mirror at
http://repo.or.cz/w/VCS-Git-Torrent.git
There is some activity there... but no summary of it anywhere I could
find. (I wonder if this was the project Johannes and Shawn were talking
about of "going dark" in GSoC 2008 podcast 018...)
2. git-statistics
Student: Sverre Rabbelier
Mentor: David Symonds
There were some posts about how git-statistics can be used:
http://thread.gmane.org/gmane.comp.version-control.git/81534
http://thread.gmane.org/gmane.comp.version-control.git/82027
There is post with link to different git.git statictics:
"[GitStats] Bling bling or some statistics on the git.git repository"
http://thread.gmane.org/gmane.comp.version-control.git/88174
A short listing of metrics done:
* stats.py author -d: Shows file activity of a specific developer
measured in how often they made a modification to a file and total
lines added/removed (much like a diffstat, but now for a specific
developer instead of one commit).
* stats.py author -f: Shows file activity of a specific file measured
in how often they made a modification to a file, could be extended to
also count changes like "author -d"
* stats.py branch -b: Shows which branch a specific file belongs to,
for more information on this metric see below
* stats.py commit -v: Shows all commits that are reverted by the
specified commit, will be extended to allow detection of partial
reverts
* stats.py diff -e: Shows whether two specific commits introduce the
same changes
* stats.py diff -e -n: ditto, but ignores what changes were made, only
looks at the changed lines
* stats.py diff -e -i: ditto, but inverts the comparison, instead of
comparing addition with addition and deletions with deletions, the
additions of the first diff are compared with the deletions of the
second diff, and vise versa. This way a revert is easily detected.
* stats.py index -t: Shows which commits touched the same paths as the
staged changes
3. Gitweb caching
Student: Lea Wiemann
Mentor: John 'warthog' Hawley
Lea has chosen caching data and memcached as example (primary) caching
engine, wrote Git::Repo object-oriented Perl interface to git, used
it in gitweb, and added caching to gitweb.
Additionally tests for old Git.pm (simple), Git::Repo and friends, and
Mechanize based gitweb test were added. Mechanize tests detected a few
bugs in current gitweb code: using Git::Repo and adding caching didn't
create any new errors.
Currently first round of patches were send, and second version
incorporating comments from is in progress. There is a test site
(live demo) up and running on one of the kernel.org machines:
http://odin3.kernel.org/git-lewiemann/
You can find first version of patches in 'pu' branch.
4. Eclipse plugin push support
Student: Marek Zawirski
Mentor: Shawn O. Pearce
Thus far Marek has completed generation of packs, including delta
re-use from packs using either v1 or v2 index, including taking
advantage of the CRC inside the v2 index to accelerate a safe reuse.
This code permits jgit to write a valid pack.
The packing code does not (yet) search for a delta base, or create
a new delta for an undeltified object. Packing loose objects packs
them as whole objects in the pack file, resulting in little to no
reduction over their loose object size. This is not a limitation
of Java. Marek and I simply decided that protocol support was more
important than really tight network transport at this point in time.
As a result of being able to create pack files Marek was able to
implement the client side of git-push for the native pack transfer
service, aka push over SSH, push to another local repository (by
forking 'git receive-pack') and push over anonymous git://.
Using Marek's pack generation code Shawn added support for push over
the dumb sftp:// and amazon-s3:// protocols, with the latter also
supporting transparent client side encryption.
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.
It is already in git as 1c7b76b (Build in merge).
In Documentation/RelNotes-1.6.0.txt you can find the following:
"* git-merge has been reimplemented in C."
6. git-sequencer
Student: Stephan Beyer
Mentor: Christian Couder, Daniel Barkalow
It started with discussion over TODO file format:
http://thread.gmane.org/gmane.comp.version-control.git/84230
Now there is prototype shell script implementation (which has some
limitations because it is prototype) in "git sequencer prototype"
http://thread.gmane.org/gmane.comp.version-control.git/86985
http://thread.gmane.org/gmane.comp.version-control.git/88754
The latter thread includes migration of git-am, git-rebase, and
interactive rebase to sequencer.
> Stephan Beyer wrote:
> I'm using sequencer-based git-am and git-rebase-i and also
> git-sequencer itself for around 2-3 weeks now. So, for me, it is
> reality-proven [...]
There were some problems with sequencer based implementation of
"git am --rebasing", or sequencer based patch application driven
ordinary rebase, but I think there were resolved.
Stephen have started the builtin sequencer (but till now no patches
were sent to list: seems to be work in progress).
Some performance benchmarks:
* applying 45 patches with git-am
- 3 seconds using the original
- 8 seconds using the (scripted) sequencer-based one
* rebasing 100 commits
- 4.8 seconds using the original
- 10.1 seconds using the (scripted) sequencer-based one
- 1.7 seconds using builtin sequencer
SUMMARY:
========
From those projects, "git-merge builtin" did what it was meant to do
already. "Eclipse plugin push support" and "git-statistics" did
minimum what it was meant to do already, and it looks like it would be
finished before August 11. "Gitweb caching" is after first round of
patches, "git-sequencer" looks like already done; I don't know what is
the state of "GitTorrent" project.
Please correct any mistakes in this summary / writeup. Thanks in
advance.
--
Jakub Narebski
Poland
next prev parent reply other threads:[~2008-07-20 22:30 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-08 0:27 [GSoC] What is status of Git's Google Summer of Code 2008 projects? Jakub Narebski
2008-07-08 0:43 ` David Symonds
2008-07-08 1:00 ` Stephan Beyer
2008-07-08 1:14 ` Junio C Hamano
2008-07-08 1:47 ` Stephan Beyer
2008-07-08 7:39 ` Jakub Narebski
2008-07-08 14:42 ` Stephan Beyer
2008-07-08 16:12 ` Jakub Narebski
2008-07-08 16:34 ` Stephan Beyer
2008-07-08 17:31 ` Jakub Narebski
2008-07-08 4:08 ` Lea Wiemann
2008-07-08 7:20 ` J.H.
2008-07-08 4:19 ` Shawn O. Pearce
2008-07-08 16:31 ` Joshua Roys
2008-07-08 16:45 ` Johannes Schindelin
2008-07-08 17:22 ` Jakub Narebski
2008-07-08 17:00 ` Petr Baudis
2008-07-08 21:24 ` Sam Vilain
2008-07-09 10:18 ` Sverre Rabbelier
2008-07-09 10:56 ` Miklos Vajna
2008-07-09 11:36 ` Jakub Narebski
2008-07-20 22:29 ` Jakub Narebski [this message]
2008-07-20 22:43 ` Sverre Rabbelier
2008-07-20 22:57 ` Stephan Beyer
2008-07-21 0:55 ` Sam Vilain
2008-07-21 1:05 ` Johannes Schindelin
2008-07-21 10:23 ` Jakub Narebski
2008-07-21 10:40 ` Petr Baudis
2008-07-21 13:23 ` Joshua Roys
2008-07-21 3:22 ` Shawn O. Pearce
2008-08-17 5:26 ` Sverre Rabbelier
2008-08-14 2:57 ` Jakub Narebski
2008-08-14 12:42 ` Sam Vilain
2008-08-14 23:17 ` Petr Baudis
2008-08-14 23:23 ` Jakub Narebski
2008-08-14 23:04 ` Johannes Schindelin
2008-08-15 19:38 ` Lea Wiemann
2008-08-15 20:36 ` Jakub Narebski
2008-08-16 1:16 ` Stephan Beyer
2008-08-16 1:22 ` Shawn O. Pearce
2008-08-16 3:10 ` Jakub Narebski
2008-08-17 20:49 ` Marek Zawirski
2008-08-18 5:51 ` Shawn O. Pearce
2008-08-19 1:25 ` Joshua Roys
2008-08-20 6:19 ` Sam Vilain
2008-08-22 23:03 ` Stephan Beyer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200807210029.31543.jnareb@gmail.com \
--to=jnareb@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=LeWiemann@gmail.com \
--cc=alturin@gmail.com \
--cc=barkalow@iabervon.org \
--cc=chriscool@tuxfamily.org \
--cc=dsymonds@gmail.com \
--cc=git@vger.kernel.org \
--cc=marek.zawirski@gmail.com \
--cc=roysjosh@gmail.com \
--cc=s-beyer@gmx.net \
--cc=sam@vilain.net \
--cc=spearce@spearce.org \
--cc=sverre@rabbelier.nl \
--cc=vmiklos@frugalware.org \
--cc=warthog19@eaglescrag.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).