EclipseCon 2010 talk: Towards contributors heaven
Upcoming SlideShare
Loading in...5
×
 

EclipseCon 2010 talk: Towards contributors heaven

on

  • 9,479 views

EclipseCon 2010 talk

EclipseCon 2010 talk

Statistics

Views

Total Views
9,479
Views on SlideShare
9,348
Embed Views
131

Actions

Likes
2
Downloads
138
Comments
0

4 Embeds 131

http://www.slideshare.net 91
http://www.eclipsecon.org 37
http://www.techgig.com 2
http://www.slashdocs.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

EclipseCon 2010 talk: Towards contributors heaven EclipseCon 2010 talk: Towards contributors heaven Presentation Transcript

  • Towards Contributor's Heaven From CVS and SVN to Git Shawn Pearce Robin Rosenberg Matthias Sohn eclipse.org/egit
  • What is Git? Distributed Version Control System Patch management Created for the Linux Kernel E-mail based contributions Thousands of contributors High activity Parallel development Strong focus on code review eclipse.org/egit
  • Distributed Version Control
  • Distributed Version Control Enables every contributor ... not just committers Has full history ... locally Can branch, merge, rebase ... locally Can exchange work with others ... peer to peer Superior branch, merge functionality eclipse.org/egit
  • Distributed Version Control eclipse.org/egit
  • Chaos? Projects use only a subset of potential workflows Individuals use personal workflows that others do not see Examples: Git (C implementation) All contributions are e-mailed EGit/JGit All contributions via Gerrit (Used to be e-mail) Linux kernel All contributions e-mailed Subsystem maintainers also pull eclipse.org/egit
  • Git Internals Crash Course Cryptographic signatures ... ensures data integrity Snapshot based ... saves whole project eclipse.org/egit
  • Git Internals Crash Course Cryptographic signatures ... ensures data integrity Snapshot based ... saves whole project History stored as graph ... accurate records eclipse.org/egit
  • Git Internals Crash Course Cryptographic signatures ... ensures data integrity Snapshot based ... saves whole project History stored as graph ... accurate records Smarter merges ... makes branching cheap eclipse.org/egit
  • EGit Project History
  • EGit Project History 2005 Linus Torvalds starts Git 2006 Proof-of-concept, quite unusable Not a "port", ground-up pure Java Originally one project eclipse.org/egit
  • EGit Project History 2005 Linus Torvalds starts Git 2006 Proof-of-concept, quite unusable Not a "port", ground-up pure Java Originally one project 2007 Index reader, quickdiff First useful minimal functionality versions eclipse.org/egit
  • EGit Project History 2005 Linus Torvalds starts Git 2006 Proof-of-concept, quite unusable Not a "port", ground-up pure Java Originally one project 2007 Index reader, quickdiff First useful versions 2008 Add history view, commit, push/fetch Much more usable License change ( EGit: EPL, JGit: BSD/EDL ) eclipse.org/egit
  • EGit Project History 2005 Linus Torvalds starts Git 2006 Proof-of-concept, quite unusable 2007 Index reader, quickdiff 2008 Add history view, commit, push/fetch 2009 >5000 downloads/month Split into two projects EGit - team provider JGit - reusable library Moved to Eclipse.org eclipse.org/egit
  • EGit Project History 2005 Linus Torvalds starts Git 2006 Proof-of-concept, quite unusable 2007 Index reader, quickdiff 2008 Add history view, commit, push/fetch 2009 Moved to Eclipse.org 2010 Diff/Merge Exit Incubation Release 1.0 eclipse.org/egit
  • Why JGit Rocks
  • Applications Built On JGit Open Source EGit Eclipse Team Provider NBGit Git Support for NetBeans Gerrit Code Review Web based project management and peer code review Buckminster, Maven, JIRA, Hudson, ... eclipse.org/jgit
  • Applications Built On JGit Open Source EGit Eclipse Team Provider NBGit Git Support for NetBeans Gerrit Code Review Web based project management and peer code review Buckminster, Maven, JIRA, Hudson, ... Commercial TeamCity Commercial continuous integration SmartGit Commercial GUI client CodeBeamer MR Commercial project management eclipse.org/jgit
  • Current State Usable: clone, commit, push, pull, history, diff Missing: merge, rebase, gc (use C Git command line for now ... coming soon) Performance on par with C More active community Development accelerating Eclipse integration improving eclipse.org/egit
  • Quick EGit Demo with Gerrit Code Review
  • Future Standard Eclipse SCM ... migrate from CVS/SVN Standard Eclipse plugin ... shipped in all packages Complete implementation ... no C code required Standard outside Eclipse ... BSD license is very friendly eclipse.org/egit
  • Thank You Want More? "Understanding and Using Git at Eclipse" Thursday @ 10 am in Stevens Creek eclipse.org/egit