SlideShare a Scribd company logo
1 of 18
Eclipse Hacker’s
 Matthias Sohn
 (SAP)matthias.sohn@sap                                                                                   Guide to the
 .com
 twitter: @masohn
                                                                                                         Git Universe
                                                                                                                  Developing with EGit and Friends




                                                                                                                      http://eclipse.org/jgit
                                                                                                                     http://eclipse.org/egit
                                                                                                           http://code.google.com/p/gerrit




background photo courtesy of Eclipse Hacker’s Guide to the Git Universe | ©
                             NASA http://www.nasa.gov/multimedia/guidelines/index.html   2011 by M. Sohn
Git
 … a distributed revision control system built by the
 Linux project to facilitate code review

 Distributed means no central repository
 •    No central authority!
 •    Easy offline usage
 •    Easy to branch a project
 •    Protected against manipulation by cryptographic hashes

 Really good at merging
 • Coordination only needed "after the fact”
 • Easier to rejoin (or refresh) branches

 Structured around commits (i.e. patches)
 • Tools for identifying problem commits (git bisect)
 • Tools for restructuring branches w/ specific commits



           Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
Git is mature and popular
  … Git is widely used and is the most popular
  distributed version control system




      Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
Git use is growing

Google trend search in US:




                                                                        http://aniszczyk.org/2011/11/23/apache-and-politics-over-code/




       Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
History Git @ Eclipse
2005         Linus Torvalds starts Git

2006         Shawn Pearce starts JGit

2009         Eclipse decides on Git as replacement for CVS/SVN
             JGit/EGit move to eclipse.org, SAP joins

3/2010       EGit 0.7 (first release at Eclipse)

9/2011       EGit 1.1 (Indigo SR1)

12/2011 Eclipse Git adoption:
        EGit 1.2
        Gerrit hosted by Eclipse

12/2012 Eclipse will retire CVS


         Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
Why did Eclipse move?
 Git increases developer productivity

 Git makes collaboration easier

 Gerrit Review is great for Contributors

 Github is the most popular coding platform




       Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
Git in Java
 JGit is a lightweight Java library implementing Git
 • http://www.eclipse.org/jgit/

 EGit is an Eclipse Team provider for Git based on JGit
 • http://www.eclipse.org/egit/

 Gerrit Code Review is a Git server based on JGit
 • permissions and review workflow
 • http://code.google.com/p/gerrit

 Gitblit is a Git server based on JGit
 •   browsing (like GitWeb), statistics and RSS feeds
 •   http://code.google.com/p/gitblit/


         Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
Github
• Became largest Forge
• Free for public repositories

• EGit has GitHub connector




        Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
        Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
Modern Code Review – What is it ?                                                                        Guido van Rossum [1]



 When one developer writes code, another
 developer is asked to review that code

 A careful line-by-line critique

 Happens in a non-threatening context

 Goal is cooperation, not fault-finding

 Integral part of coding process

 Otherwise this will happen:
 Debugging someone else's broken code
 – Involuntary code review: Not so good; emotions may flare
                                                       [1] http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdf


      Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
Code Review – Benefits                                                    Guido van Rossum [1]




 Four eyes catch more bugs
  o   Catch bugs early to save hours of debugging

 Mentoring of new developers / contributors
  o   Learn from mistakes without breaking stuff

 Establish trust relationships
  o   Prepare for more delegation

 Good alternative to pair programming
  o   asynchronous and across locations

 Coding standards
  o   Keep overall readability & code quality high
                                                       [1] http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdf



         Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
Gerrit
 Gerrit Code Review
                                                                                         git    git
                                                                                            git     git
                                          master
                                                 change 12
                                                                   submit accepted
                                change 10                          change 12
                                                            change 23




                                push improved                                   fetch change 23
fetch master
                                change 10                                       to try it
to get
updates
                     Developer PC                                                    Developer PC



                git                                                               git
                      git                                                               git
               Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
Integration with EGit
Gerrit is a Git server
o any Git implementation can work with Gerrit

EGit simplifies work with Gerrit
o fetching a change
o automatic "push to Gerrit" configuration

Mylyn Reviews has a Gerrit connector




      Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
Gerrit - Workflow




     Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
Gerrit Review UI




                                                                 http://egit.eclipse.org/r/#change,825
Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
Gerrit – Eclipse Integration
Mylyn Gerrit Connector

• Task list integration

• Review editor,
  inline comments

• Publishing reviews

• EGit integration for fetching changes in review




        Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
DEMO




 Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
Conclusion
 DVCS like Git are powerful

 Git supports convenient branching and merging

 Git is very fast and scales well

 Gerrit enables a nice code review workflow

 Code review rocks !




       Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
Q&A




 Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn

More Related Content

What's hot

Intro to Version Control with Git and Github
Intro to Version Control with Git and GithubIntro to Version Control with Git and Github
Intro to Version Control with Git and GithubJoe Fleming
 
GitHub Classroom - An Open Source Learning Platform by Dr. Anchal Garg
GitHub Classroom - An Open Source Learning Platform by Dr. Anchal GargGitHub Classroom - An Open Source Learning Platform by Dr. Anchal Garg
GitHub Classroom - An Open Source Learning Platform by Dr. Anchal GargNisha Garg
 
GitHubをエンジニア以外にも使ってもらうには
GitHubをエンジニア以外にも使ってもらうにはGitHubをエンジニア以外にも使ってもらうには
GitHubをエンジニア以外にも使ってもらうにはtkr1212st
 
Introducing Github and Octocats by Tony Bangratz
Introducing Github and Octocats by Tony BangratzIntroducing Github and Octocats by Tony Bangratz
Introducing Github and Octocats by Tony BangratzRailsGirls_RTM
 
Brush up on using github
Brush up on using githubBrush up on using github
Brush up on using githubSebin Benjamin
 
Hacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersHacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersDeepikaRana30
 
Git lord | A brief intro about git commands in Star Wars theme
Git lord | A brief intro about git commands in Star Wars themeGit lord | A brief intro about git commands in Star Wars theme
Git lord | A brief intro about git commands in Star Wars themeAkarsh Satija
 

What's hot (10)

Intro to Version Control with Git and Github
Intro to Version Control with Git and GithubIntro to Version Control with Git and Github
Intro to Version Control with Git and Github
 
GitHub Classroom - An Open Source Learning Platform by Dr. Anchal Garg
GitHub Classroom - An Open Source Learning Platform by Dr. Anchal GargGitHub Classroom - An Open Source Learning Platform by Dr. Anchal Garg
GitHub Classroom - An Open Source Learning Platform by Dr. Anchal Garg
 
GitHubをエンジニア以外にも使ってもらうには
GitHubをエンジニア以外にも使ってもらうにはGitHubをエンジニア以外にも使ってもらうには
GitHubをエンジニア以外にも使ってもらうには
 
Open source
Open sourceOpen source
Open source
 
Git & github
Git & githubGit & github
Git & github
 
Github
GithubGithub
Github
 
Introducing Github and Octocats by Tony Bangratz
Introducing Github and Octocats by Tony BangratzIntroducing Github and Octocats by Tony Bangratz
Introducing Github and Octocats by Tony Bangratz
 
Brush up on using github
Brush up on using githubBrush up on using github
Brush up on using github
 
Hacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersHacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginners
 
Git lord | A brief intro about git commands in Star Wars theme
Git lord | A brief intro about git commands in Star Wars themeGit lord | A brief intro about git commands in Star Wars theme
Git lord | A brief intro about git commands in Star Wars theme
 

Similar to Eclipse Hackers Guide to the Git Universe - Eclipse democamp Vienna 2011-12-02

ESE 2010: Using Git in Eclipse
ESE 2010: Using Git in EclipseESE 2010: Using Git in Eclipse
ESE 2010: Using Git in EclipseChris Aniszczyk
 
Helios in Action: Git at Eclipse
Helios in Action: Git at EclipseHelios in Action: Git at Eclipse
Helios in Action: Git at EclipseChris Aniszczyk
 
EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16
EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16
EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16msohn
 
Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14
Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14
Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14msohn
 
Egit democamp-karlsruhe-2011-11-29
Egit democamp-karlsruhe-2011-11-29Egit democamp-karlsruhe-2011-11-29
Egit democamp-karlsruhe-2011-11-29Stefan Lay
 
Using Git in Eclipse - Eclipse Summit Europe 2010-11-03
Using Git in Eclipse - Eclipse Summit Europe 2010-11-03Using Git in Eclipse - Eclipse Summit Europe 2010-11-03
Using Git in Eclipse - Eclipse Summit Europe 2010-11-03msohn
 
EGit and Friends - Ready for Prime Time ? Eclipse DemoCamp Darmstadt 2011-06-21
EGit and Friends - Ready for Prime Time ? Eclipse DemoCamp Darmstadt 2011-06-21EGit and Friends - Ready for Prime Time ? Eclipse DemoCamp Darmstadt 2011-06-21
EGit and Friends - Ready for Prime Time ? Eclipse DemoCamp Darmstadt 2011-06-21msohn
 
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014msohn
 
Egit democamp-darmstadt-2011-06-21
Egit democamp-darmstadt-2011-06-21Egit democamp-darmstadt-2011-06-21
Egit democamp-darmstadt-2011-06-21Stefan Lay
 
The Git Tutorial - EclipseCon 2012
The Git Tutorial - EclipseCon 2012The Git Tutorial - EclipseCon 2012
The Git Tutorial - EclipseCon 2012msohn
 
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDKubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDSunnyvale
 
(E)Git + Tycho + Gerrit + Mylyn = #WIN @ Eclipse Day Toulouse 2012
(E)Git + Tycho + Gerrit + Mylyn = #WIN @ Eclipse Day Toulouse 2012(E)Git + Tycho + Gerrit + Mylyn = #WIN @ Eclipse Day Toulouse 2012
(E)Git + Tycho + Gerrit + Mylyn = #WIN @ Eclipse Day Toulouse 2012Benjamin Cabé
 
Understanding and Using Git at Eclipse
Understanding and Using Git at EclipseUnderstanding and Using Git at Eclipse
Understanding and Using Git at EclipseChris Aniszczyk
 
EclipseCon 2010 tutorial: Understanding git at Eclipse
EclipseCon 2010 tutorial: Understanding git at EclipseEclipseCon 2010 tutorial: Understanding git at Eclipse
EclipseCon 2010 tutorial: Understanding git at Eclipsemsohn
 
Introduction to git and Github
Introduction to git and GithubIntroduction to git and Github
Introduction to git and GithubWycliff1
 
Git Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdfGit Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdfuzair
 

Similar to Eclipse Hackers Guide to the Git Universe - Eclipse democamp Vienna 2011-12-02 (20)

ESE 2010: Using Git in Eclipse
ESE 2010: Using Git in EclipseESE 2010: Using Git in Eclipse
ESE 2010: Using Git in Eclipse
 
Helios in Action: Git at Eclipse
Helios in Action: Git at EclipseHelios in Action: Git at Eclipse
Helios in Action: Git at Eclipse
 
EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16
EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16
EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16
 
Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14
Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14
Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14
 
Egit democamp-karlsruhe-2011-11-29
Egit democamp-karlsruhe-2011-11-29Egit democamp-karlsruhe-2011-11-29
Egit democamp-karlsruhe-2011-11-29
 
Using Git in Eclipse - Eclipse Summit Europe 2010-11-03
Using Git in Eclipse - Eclipse Summit Europe 2010-11-03Using Git in Eclipse - Eclipse Summit Europe 2010-11-03
Using Git in Eclipse - Eclipse Summit Europe 2010-11-03
 
EGit and Friends - Ready for Prime Time ? Eclipse DemoCamp Darmstadt 2011-06-21
EGit and Friends - Ready for Prime Time ? Eclipse DemoCamp Darmstadt 2011-06-21EGit and Friends - Ready for Prime Time ? Eclipse DemoCamp Darmstadt 2011-06-21
EGit and Friends - Ready for Prime Time ? Eclipse DemoCamp Darmstadt 2011-06-21
 
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014
 
Egit democamp-darmstadt-2011-06-21
Egit democamp-darmstadt-2011-06-21Egit democamp-darmstadt-2011-06-21
Egit democamp-darmstadt-2011-06-21
 
The Git Tutorial - EclipseCon 2012
The Git Tutorial - EclipseCon 2012The Git Tutorial - EclipseCon 2012
The Git Tutorial - EclipseCon 2012
 
Git in Eclipse
Git in EclipseGit in Eclipse
Git in Eclipse
 
Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
 
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDKubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
 
(E)Git + Tycho + Gerrit + Mylyn = #WIN @ Eclipse Day Toulouse 2012
(E)Git + Tycho + Gerrit + Mylyn = #WIN @ Eclipse Day Toulouse 2012(E)Git + Tycho + Gerrit + Mylyn = #WIN @ Eclipse Day Toulouse 2012
(E)Git + Tycho + Gerrit + Mylyn = #WIN @ Eclipse Day Toulouse 2012
 
Understanding and Using Git at Eclipse
Understanding and Using Git at EclipseUnderstanding and Using Git at Eclipse
Understanding and Using Git at Eclipse
 
Day 2_ Get Git with It! A Developer's Workshop.pptx
Day 2_ Get Git with It! A Developer's Workshop.pptxDay 2_ Get Git with It! A Developer's Workshop.pptx
Day 2_ Get Git with It! A Developer's Workshop.pptx
 
Git overview
Git overviewGit overview
Git overview
 
EclipseCon 2010 tutorial: Understanding git at Eclipse
EclipseCon 2010 tutorial: Understanding git at EclipseEclipseCon 2010 tutorial: Understanding git at Eclipse
EclipseCon 2010 tutorial: Understanding git at Eclipse
 
Introduction to git and Github
Introduction to git and GithubIntroduction to git and Github
Introduction to git and Github
 
Git Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdfGit Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdf
 

More from msohn

Project Gardener - EclipseCon Europe - 2018-10-23
Project Gardener - EclipseCon Europe - 2018-10-23Project Gardener - EclipseCon Europe - 2018-10-23
Project Gardener - EclipseCon Europe - 2018-10-23msohn
 
News from Git in Eclipse - EclipseCon EU - 2016-10-26
News from Git in Eclipse - EclipseCon EU - 2016-10-26News from Git in Eclipse - EclipseCon EU - 2016-10-26
News from Git in Eclipse - EclipseCon EU - 2016-10-26msohn
 
Git journey from mars to neon EclipseCon North America - 2016-03-08
Git journey from mars to neon   EclipseCon North America - 2016-03-08Git journey from mars to neon   EclipseCon North America - 2016-03-08
Git journey from mars to neon EclipseCon North America - 2016-03-08msohn
 
Versioning large binary files with JGit, EGit and Gerrit
Versioning large binary files with JGit, EGit and GerritVersioning large binary files with JGit, EGit and Gerrit
Versioning large binary files with JGit, EGit and Gerritmsohn
 
News from Git in Eclipse - EclipseCon 2015 Europe
News from Git in Eclipse - EclipseCon 2015 EuropeNews from Git in Eclipse - EclipseCon 2015 Europe
News from Git in Eclipse - EclipseCon 2015 Europemsohn
 
Git missiontomars 2015-03-10
Git missiontomars 2015-03-10Git missiontomars 2015-03-10
Git missiontomars 2015-03-10msohn
 
News from EGit - Talk EclipseCon Europe 2014 - Ludwigsburg
News from EGit - Talk EclipseCon Europe 2014 - LudwigsburgNews from EGit - Talk EclipseCon Europe 2014 - Ludwigsburg
News from EGit - Talk EclipseCon Europe 2014 - Ludwigsburgmsohn
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 9 - starting demo gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 9 - starting demo gerritGit Tutorial EclipseCon France 2014 - Gerrit Exercise 9 - starting demo gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 9 - starting demo gerritmsohn
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreen
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreenGit Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreen
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreenmsohn
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a changeGit Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a changemsohn
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a changeGit Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a changemsohn
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review changeGit Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review changemsohn
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerritGit Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerritmsohn
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest state
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest stateGit Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest state
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest statemsohn
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerritGit Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerritmsohn
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...msohn
 
Git Tutorial EclipseCon France 2014 - Git Exercise 07 - git blame
Git Tutorial EclipseCon France 2014 - Git Exercise 07 - git blameGit Tutorial EclipseCon France 2014 - Git Exercise 07 - git blame
Git Tutorial EclipseCon France 2014 - Git Exercise 07 - git blamemsohn
 
Git Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebase
Git Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebaseGit Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebase
Git Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebasemsohn
 
Git Tutorial EclipseCon France 2014 - Git Exercise 05 - history view
Git Tutorial EclipseCon France 2014 - Git Exercise 05 - history viewGit Tutorial EclipseCon France 2014 - Git Exercise 05 - history view
Git Tutorial EclipseCon France 2014 - Git Exercise 05 - history viewmsohn
 
Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...
Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...
Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...msohn
 

More from msohn (20)

Project Gardener - EclipseCon Europe - 2018-10-23
Project Gardener - EclipseCon Europe - 2018-10-23Project Gardener - EclipseCon Europe - 2018-10-23
Project Gardener - EclipseCon Europe - 2018-10-23
 
News from Git in Eclipse - EclipseCon EU - 2016-10-26
News from Git in Eclipse - EclipseCon EU - 2016-10-26News from Git in Eclipse - EclipseCon EU - 2016-10-26
News from Git in Eclipse - EclipseCon EU - 2016-10-26
 
Git journey from mars to neon EclipseCon North America - 2016-03-08
Git journey from mars to neon   EclipseCon North America - 2016-03-08Git journey from mars to neon   EclipseCon North America - 2016-03-08
Git journey from mars to neon EclipseCon North America - 2016-03-08
 
Versioning large binary files with JGit, EGit and Gerrit
Versioning large binary files with JGit, EGit and GerritVersioning large binary files with JGit, EGit and Gerrit
Versioning large binary files with JGit, EGit and Gerrit
 
News from Git in Eclipse - EclipseCon 2015 Europe
News from Git in Eclipse - EclipseCon 2015 EuropeNews from Git in Eclipse - EclipseCon 2015 Europe
News from Git in Eclipse - EclipseCon 2015 Europe
 
Git missiontomars 2015-03-10
Git missiontomars 2015-03-10Git missiontomars 2015-03-10
Git missiontomars 2015-03-10
 
News from EGit - Talk EclipseCon Europe 2014 - Ludwigsburg
News from EGit - Talk EclipseCon Europe 2014 - LudwigsburgNews from EGit - Talk EclipseCon Europe 2014 - Ludwigsburg
News from EGit - Talk EclipseCon Europe 2014 - Ludwigsburg
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 9 - starting demo gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 9 - starting demo gerritGit Tutorial EclipseCon France 2014 - Gerrit Exercise 9 - starting demo gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 9 - starting demo gerrit
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreen
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreenGit Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreen
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreen
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a changeGit Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a change
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a changeGit Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a change
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review changeGit Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review change
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerritGit Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerrit
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest state
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest stateGit Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest state
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest state
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerritGit Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerrit
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...
 
Git Tutorial EclipseCon France 2014 - Git Exercise 07 - git blame
Git Tutorial EclipseCon France 2014 - Git Exercise 07 - git blameGit Tutorial EclipseCon France 2014 - Git Exercise 07 - git blame
Git Tutorial EclipseCon France 2014 - Git Exercise 07 - git blame
 
Git Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebase
Git Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebaseGit Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebase
Git Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebase
 
Git Tutorial EclipseCon France 2014 - Git Exercise 05 - history view
Git Tutorial EclipseCon France 2014 - Git Exercise 05 - history viewGit Tutorial EclipseCon France 2014 - Git Exercise 05 - history view
Git Tutorial EclipseCon France 2014 - Git Exercise 05 - history view
 
Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...
Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...
Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...
 

Recently uploaded

Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

Eclipse Hackers Guide to the Git Universe - Eclipse democamp Vienna 2011-12-02

  • 1. Eclipse Hacker’s Matthias Sohn (SAP)matthias.sohn@sap Guide to the .com twitter: @masohn Git Universe Developing with EGit and Friends http://eclipse.org/jgit http://eclipse.org/egit http://code.google.com/p/gerrit background photo courtesy of Eclipse Hacker’s Guide to the Git Universe | © NASA http://www.nasa.gov/multimedia/guidelines/index.html 2011 by M. Sohn
  • 2. Git … a distributed revision control system built by the Linux project to facilitate code review Distributed means no central repository • No central authority! • Easy offline usage • Easy to branch a project • Protected against manipulation by cryptographic hashes Really good at merging • Coordination only needed "after the fact” • Easier to rejoin (or refresh) branches Structured around commits (i.e. patches) • Tools for identifying problem commits (git bisect) • Tools for restructuring branches w/ specific commits Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
  • 3. Git is mature and popular … Git is widely used and is the most popular distributed version control system Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
  • 4. Git use is growing Google trend search in US: http://aniszczyk.org/2011/11/23/apache-and-politics-over-code/ Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
  • 5. History Git @ Eclipse 2005 Linus Torvalds starts Git 2006 Shawn Pearce starts JGit 2009 Eclipse decides on Git as replacement for CVS/SVN JGit/EGit move to eclipse.org, SAP joins 3/2010 EGit 0.7 (first release at Eclipse) 9/2011 EGit 1.1 (Indigo SR1) 12/2011 Eclipse Git adoption: EGit 1.2 Gerrit hosted by Eclipse 12/2012 Eclipse will retire CVS Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
  • 6. Why did Eclipse move? Git increases developer productivity Git makes collaboration easier Gerrit Review is great for Contributors Github is the most popular coding platform Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
  • 7. Git in Java JGit is a lightweight Java library implementing Git • http://www.eclipse.org/jgit/ EGit is an Eclipse Team provider for Git based on JGit • http://www.eclipse.org/egit/ Gerrit Code Review is a Git server based on JGit • permissions and review workflow • http://code.google.com/p/gerrit Gitblit is a Git server based on JGit • browsing (like GitWeb), statistics and RSS feeds • http://code.google.com/p/gitblit/ Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
  • 8. Github • Became largest Forge • Free for public repositories • EGit has GitHub connector Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
  • 9. Modern Code Review – What is it ? Guido van Rossum [1] When one developer writes code, another developer is asked to review that code A careful line-by-line critique Happens in a non-threatening context Goal is cooperation, not fault-finding Integral part of coding process Otherwise this will happen: Debugging someone else's broken code – Involuntary code review: Not so good; emotions may flare [1] http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdf Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
  • 10. Code Review – Benefits Guido van Rossum [1] Four eyes catch more bugs o Catch bugs early to save hours of debugging Mentoring of new developers / contributors o Learn from mistakes without breaking stuff Establish trust relationships o Prepare for more delegation Good alternative to pair programming o asynchronous and across locations Coding standards o Keep overall readability & code quality high [1] http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdf Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
  • 11. Gerrit Gerrit Code Review git git git git master change 12 submit accepted change 10 change 12 change 23 push improved fetch change 23 fetch master change 10 to try it to get updates Developer PC Developer PC git git git git Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
  • 12. Integration with EGit Gerrit is a Git server o any Git implementation can work with Gerrit EGit simplifies work with Gerrit o fetching a change o automatic "push to Gerrit" configuration Mylyn Reviews has a Gerrit connector Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
  • 13. Gerrit - Workflow Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
  • 14. Gerrit Review UI http://egit.eclipse.org/r/#change,825 Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
  • 15. Gerrit – Eclipse Integration Mylyn Gerrit Connector • Task list integration • Review editor, inline comments • Publishing reviews • EGit integration for fetching changes in review Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
  • 16. DEMO Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
  • 17. Conclusion DVCS like Git are powerful Git supports convenient branching and merging Git is very fast and scales well Gerrit enables a nice code review workflow Code review rocks ! Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn
  • 18. Q&A Eclipse Hacker’s Guide to the Git Universe | © 2011 by M. Sohn