EclipseCon 2010 talk: Towards contributors heaven

9,810 views

Published on

EclipseCon 2010 talk

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
9,810
On SlideShare
0
From Embeds
0
Number of Embeds
137
Actions
Shares
0
Downloads
152
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

EclipseCon 2010 talk: Towards contributors heaven

  1. 1. Towards Contributor's Heaven From CVS and SVN to Git Shawn Pearce Robin Rosenberg Matthias Sohn eclipse.org/egit
  2. 2. 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
  3. 3. Distributed Version Control
  4. 4. 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
  5. 5. Distributed Version Control eclipse.org/egit
  6. 6. 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
  7. 7. Git Internals Crash Course Cryptographic signatures ... ensures data integrity Snapshot based ... saves whole project eclipse.org/egit
  8. 8. Git Internals Crash Course Cryptographic signatures ... ensures data integrity Snapshot based ... saves whole project History stored as graph ... accurate records eclipse.org/egit
  9. 9. 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
  10. 10. EGit Project History
  11. 11. 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
  12. 12. 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
  13. 13. 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
  14. 14. 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
  15. 15. 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
  16. 16. Why JGit Rocks
  17. 17. 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
  18. 18. 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
  19. 19. 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
  20. 20. Quick EGit Demo with Gerrit Code Review
  21. 21. 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
  22. 22. Thank You Want More? "Understanding and Using Git at Eclipse" Thursday @ 10 am in Stevens Creek eclipse.org/egit

×