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

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

EclipseCon 2010 talk: Towards contributors heaven

8,494

Published on

EclipseCon 2010 talk

EclipseCon 2010 talk

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

No Downloads
Views
Total Views
8,494
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
139
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Towards Contributor's Heaven From CVS and SVN to Git Shawn Pearce Robin Rosenberg Matthias Sohn eclipse.org/egit
  • 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. Distributed Version Control
  • 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. Distributed Version Control eclipse.org/egit
  • 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. Git Internals Crash Course Cryptographic signatures ... ensures data integrity Snapshot based ... saves whole project eclipse.org/egit
  • 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. 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. EGit Project History
  • 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. 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. 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. 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. 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. Why JGit Rocks
  • 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. 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. 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. Quick EGit Demo with Gerrit Code Review
  • 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. Thank You Want More? "Understanding and Using Git at Eclipse" Thursday @ 10 am in Stevens Creek eclipse.org/egit

×