Jakub Narebski <jnareb@xxxxxxxxx> 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. > > (It would be, I guess, good preparation for GSoC 2008 mid-term > evaluations, which according to GSoC 2008 timeline > http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline > are to take place July 7 -- July 14.) Yes, it is that time for evaluations. The evaluations are now open to students and mentors alike; please make sure you complete them by the deadline of July 14th. > 4. Eclipse plugin push support (!) > > Student: Marek Zawirski > Mentor: Shawn O. Pearce > > I am not following egit/jgit development close enough, but if I remember > correctly there is some code which provides very rudimentary support > for native generation of simplified packs, and IIRC also for push over > some protocols. > > And there is push support over SFTP and (encrypted) Amazon S3... Marek is on holiday right now, so I have to answer for him here. Otherwise I would have preferred to let him do it. 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 I added support for push over the dumb sftp:// and amazon-s3:// protocols, with the latter also supporting transparent client side encryption. I chose to add these features to jgit partly as an exercise to prove that Marek's code was built well enough to be reused for this task, partly because I wanted to backup some private personal repositories to Amazon S3, and partly to prove that multiple dumb transports could implement push support. All of the above is done in the non-Eclipse, BSD licensed jgit library, making it available to any tool built on top of the Java platform, even if said tool does not use the Eclipse platform or any other code from Eclipse. At this point Marek's code is in the main egit.git tree's master branch, and is in "production" use by myself and Robin, and maybe a few others. I am quite happy with the work Marek has completed to date for the project. When Marek returns from his holiday he will be working on Eclipse UI features to expose this jgit push functionality to the end-user within the Eclipse workbench. -- Shawn. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html