SlideShare a Scribd company logo
Development Process
with EGit and Gerrit
Code Review
http://eclipse.org/egit
http://code.google.com/p/gerrit/Matthias Sohn (SAP)
matthias.sohn@sap.com
+ =
Stefan Lay (SAP)
stefan.lay@sap.com
Learning Git – There's no free lunch!
Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
… the purpose of this presentation isn't to teach you Git,
you have to do that yourself!
Git, EGit and JGit
- Demo and Tour of EGit
Code Review at Eclipse
Gerrit
- Demo of Gerrit
Conclusion
Outline
Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
Git
… a distributed revision control system built by the
Linux project to automate patch workflow
Distributed means no central repository
Really good at merging
Structured around commits (i.e. patches)
Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
Git at Eclipse
Eclipse defined a roadmap to move to Git in 2009
CVS is deprecated; SVN will be deprecated in the future
EGit is an Eclipse Team provider for Git
http://www.eclipse.org/egit/
JGit is a lightweight Java library implementing Git
http://www.eclipse.org/jgit/
The goal is to build an Eclipse community around Git
EGit and JGit are still beta and we want to establish
a feedback loop to improve the tooling
Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
History of JGit and EGit
2005 Linus Torvalds starts Git
2006 Shawn Pearce starts JGit
2009 Eclipse decides for Git Roadmap
JGit/EGit move to eclipse.org
SAP joins JGit/EGit
3/2010 Released 0.7 (first release at Eclipse)
Diff/Merge Algorithms, Automatic IP Logs
6/2010 Released 0.8 (Helios)
Usability Improvements, Git Repositories View, Tagging
9/2010 Released 0.9 (Helios SR1)
Merge, Synchronize View, .gitignore
Planned: 12/2010 0.10 (Helios SR2) 3/2011 0.11 6/2011 1.0 (Indigo)
Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
Features EGit 0.10
git-add git-format-patch git-shortlog git-relink git-rev-parse
git-am git-gc git-show git-remote git-show-branch
git-archive git-grep git-stash git-repack git-verify-tag
git-bisect git-init git-status git-replace git-whatchanged
git-branch git-log git-submodule git-annotate
git-bundle * git-merge * git-tag * git-blame .gitignore
git-checkout git-mv git-config git-cherry git daemon
git-cherry-pick git-notes git-fast-export git-count-objects Visual merge tool
git-clean  git-pull git-fast-import git-difftool ** HTTP support
git-clone git-push git-filter-branch git-fsck * Mylyn integration
git-commit ** git-rebase git-mergetool git-get-tar-commit-id * Staging View
git-describe git-reset git-pack-refs git-help * Synchronize View
git-diff git-revert git-prune git-merge-tree History View
git-fetch git-rm git-reflog git-rerere Repositories View
** planned for 0.10, * planned for 0.11
supported, partial, missing, irrelevant for EGit
Demo: A tour of EGit
Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
Git, EGit and JGit
Code Review and Eclipse
Gerrit
Conclusion
Outline
Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
What is Peer Code Review?
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
Often an integral part of coding process
Debugging someone else's broken code
– Involuntary code review: Not so good; emotions may flare
Guido van Rossum [1]
[1] http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdf
Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
Code Review – Benefits
Four eyes catch more bugs
Enforce coding standards
Mentoring of new developers
Establish trust relationships
Good alternative to pair programming
Guido van Rossum [1]
[1] http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdf
Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
Code Review at
Eclipse ?
Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
Eclipse – Review Process
Contributors
• create patch using CVS, SVN, Git
• attach patch to bug in Bugzilla
Committers
• do code and IP review in Bugzilla
• initiate IP review for changes > 250 loc
• commit accepted changes
IP Team
• does IP reviews
Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
Code Review via Bugzilla
Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
Git, EGit and JGit
Code Review and Eclipse
Gerrit
Conclusion
Outline
Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
Gerrit Code Review
Gerrit is a Code Review system based on JGit
http://code.google.com/p/gerrit/
Also serves as a git server
adding access control and workflow
Used by
• Android https://review.source.android.com/
• JGit, EGit http://egit.eclipse.org/r/
• Google, SAP, …
Eclipse wants to use it …
Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
Gerrit Workflow
Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
Gerrit
http://egit.eclipse.org/r/ - change,825Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
Code Review – Our Experience
• Review all changes!
• Review takes time (1 day … weeks)
• Implies parallel workflow
• Every team member should do reviews regularly
• Authors have to wait for the review to happen
• Git & Gerrit help a lot here
Code Review | © 2010 by M. Sohn
Demo: Code Review with Gerrit
Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
Git, EGit and JGit
Code Review and Eclipse
Gerrit
Conclusion
Outline
Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
Conclusion
EGit and JGit are evolving quickly
Gerrit enables a nice code review workflow
Git supports convenient branching and merging
Git is very fast and scales well
Eclipse and major other OS projects are moving to Git
Git and Gerrit kick ass!
Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn

More Related Content

What's hot (20)

PDF
GitHub Introduction
VIA Next Innovators
 
PDF
Improving your workflow with git
Dídac Ríos
 
PPTX
Git Going w/ Git
heyMP
 
PDF
Advanced Git
Sergiu-Ioan Ungur
 
PDF
Git presentation
Edson Celio
 
PPTX
EGit and Friends - Ready for Prime Time ? Eclipse DemoCamp Darmstadt 2011-06-21
msohn
 
PDF
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014
msohn
 
PDF
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)
Pedro Moreira da Silva
 
PDF
How GitHub impacts our career life?
Cosmo Q
 
PPTX
Jenkins plugin for Gerrit Code Review pipelines
Luca Milanesio
 
PDF
GitLab as an Alternative Development Platform for Github.com
B1 Systems GmbH
 
PDF
What's New for GitLab CI/CD February 2020
Noa Harel
 
PDF
GitOps with Gitkube
Tirumarai Selvan
 
PDF
Git in 10 minutes (WordCamp London 2018)
Borek Bernard
 
PPTX
Open source
onaelmangabo
 
PPTX
Git & github
Mohamed Abdallah
 
PDF
Git & github
MicroPyramid .
 
PPTX
Stable master workflow with Gerrit Code Review
Luca Milanesio
 
PDF
Git work flow
Kevin Chiu
 
PPT
Github By Nyros Developer
Nyros Technologies
 
GitHub Introduction
VIA Next Innovators
 
Improving your workflow with git
Dídac Ríos
 
Git Going w/ Git
heyMP
 
Advanced Git
Sergiu-Ioan Ungur
 
Git presentation
Edson Celio
 
EGit and Friends - Ready for Prime Time ? Eclipse DemoCamp Darmstadt 2011-06-21
msohn
 
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014
msohn
 
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)
Pedro Moreira da Silva
 
How GitHub impacts our career life?
Cosmo Q
 
Jenkins plugin for Gerrit Code Review pipelines
Luca Milanesio
 
GitLab as an Alternative Development Platform for Github.com
B1 Systems GmbH
 
What's New for GitLab CI/CD February 2020
Noa Harel
 
GitOps with Gitkube
Tirumarai Selvan
 
Git in 10 minutes (WordCamp London 2018)
Borek Bernard
 
Open source
onaelmangabo
 
Git & github
Mohamed Abdallah
 
Git & github
MicroPyramid .
 
Stable master workflow with Gerrit Code Review
Luca Milanesio
 
Git work flow
Kevin Chiu
 
Github By Nyros Developer
Nyros Technologies
 

Viewers also liked (11)

PPTX
Awesome Git Workflow for Agencies and Teams
Chris Reynolds
 
PDF
A git workflow for Drupal Core development
Cameron Tod
 
PDF
Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14
msohn
 
PDF
Gerrit Code Review
Johannes Barop
 
PPTX
Gerrit & Jenkins Workflow: An Integrated CI Demonstration
vanoorts
 
PDF
CakeDC Git Workflow extension
Lubomír Štork
 
PDF
Anton Parkhomenko Boost your design workflow or git rebase for designers
Аліна Шепшелей
 
PDF
Effective Development With Eclipse Mylyn, Git, Gerrit and Hudson
Chris Aniszczyk
 
PPTX
Ultimate Git Workflow - Seoul 2015
Atlassian 대한민국
 
PDF
How Git and Gerrit make you more productive
Karsten Dambekalns
 
PPTX
Gerrit Code Review
Luca Milanesio
 
Awesome Git Workflow for Agencies and Teams
Chris Reynolds
 
A git workflow for Drupal Core development
Cameron Tod
 
Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14
msohn
 
Gerrit Code Review
Johannes Barop
 
Gerrit & Jenkins Workflow: An Integrated CI Demonstration
vanoorts
 
CakeDC Git Workflow extension
Lubomír Štork
 
Anton Parkhomenko Boost your design workflow or git rebase for designers
Аліна Шепшелей
 
Effective Development With Eclipse Mylyn, Git, Gerrit and Hudson
Chris Aniszczyk
 
Ultimate Git Workflow - Seoul 2015
Atlassian 대한민국
 
How Git and Gerrit make you more productive
Karsten Dambekalns
 
Gerrit Code Review
Luca Milanesio
 
Ad

Similar to Development with Git and Gerrit - Eclipse DemoCamp Stuttgart - 2010-11-23 (20)

PDF
EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16
msohn
 
ODP
ESE 2010: Using Git in Eclipse
Chris Aniszczyk
 
PDF
Using Git in Eclipse - Eclipse Summit Europe 2010-11-03
msohn
 
PPT
Eclipse Hacker's Guide to the Git Universe
msohn
 
PDF
News from Git in Java Land
msohn
 
PPTX
Git and Gerrit Code Review - Tech Talk - 2010_09_23
msohn
 
PPT
Git and Eclipse - Eclipse Helios DemoCamp Jena 2010
msohn
 
PPTX
The-Git-Tutorial.ppt.pptx
MohammadSamiuddin12
 
PDF
EclipseCon 2010 tutorial: Understanding git at Eclipse
msohn
 
PDF
EclipseCon 2010 talk: Towards contributors heaven
msohn
 
PPTX
Eclipse Hackers Guide to the Git Universe - Eclipse democamp Vienna 2011-12-02
msohn
 
KEY
Helios in Action: Git at Eclipse
Chris Aniszczyk
 
PPTX
Egit democamp-karlsruhe-2011-11-29
Stefan Lay
 
PDF
Git Tutorial EclipseCon France 2014 - Git Exercise 01 - installation and conf...
msohn
 
PPTX
Git missiontomars 2015-03-10
msohn
 
PPT
Understanding and Using Git at Eclipse
Chris Aniszczyk
 
PPTX
Cool new stuff in JGit and EGit - Eclipse Democamp Munich 2013-06-12
msohn
 
PDF
EGit - Eclipse plug-in for git
Tomasz Zarna
 
ODP
Egit 1.0
Antonel Pazargic
 
PDF
EGit Essentials, Tips & Tricks
Lakshmi Priya
 
EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16
msohn
 
ESE 2010: Using Git in Eclipse
Chris Aniszczyk
 
Using Git in Eclipse - Eclipse Summit Europe 2010-11-03
msohn
 
Eclipse Hacker's Guide to the Git Universe
msohn
 
News from Git in Java Land
msohn
 
Git and Gerrit Code Review - Tech Talk - 2010_09_23
msohn
 
Git and Eclipse - Eclipse Helios DemoCamp Jena 2010
msohn
 
The-Git-Tutorial.ppt.pptx
MohammadSamiuddin12
 
EclipseCon 2010 tutorial: Understanding git at Eclipse
msohn
 
EclipseCon 2010 talk: Towards contributors heaven
msohn
 
Eclipse Hackers Guide to the Git Universe - Eclipse democamp Vienna 2011-12-02
msohn
 
Helios in Action: Git at Eclipse
Chris Aniszczyk
 
Egit democamp-karlsruhe-2011-11-29
Stefan Lay
 
Git Tutorial EclipseCon France 2014 - Git Exercise 01 - installation and conf...
msohn
 
Git missiontomars 2015-03-10
msohn
 
Understanding and Using Git at Eclipse
Chris Aniszczyk
 
Cool new stuff in JGit and EGit - Eclipse Democamp Munich 2013-06-12
msohn
 
EGit - Eclipse plug-in for git
Tomasz Zarna
 
EGit Essentials, Tips & Tricks
Lakshmi Priya
 
Ad

More from msohn (20)

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

Recently uploaded (20)

PPTX
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Pitch ...
Michele Kryston
 
PDF
How to Visualize the ​Spatio-Temporal Data Using CesiumJS​
SANGHEE SHIN
 
PPTX
Paycifi - Programmable Trust_Breakfast_PPTXT
FinTech Belgium
 
PDF
DoS Attack vs DDoS Attack_ The Silent Wars of the Internet.pdf
CyberPro Magazine
 
PDF
Governing Geospatial Data at Scale: Optimizing ArcGIS Online with FME in Envi...
Safe Software
 
PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
PDF
Pipeline Industry IoT - Real Time Data Monitoring
Safe Software
 
PPTX
CapCut Pro PC Crack Latest Version Free Free
josanj305
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PDF
Quantum Threats Are Closer Than You Think – Act Now to Stay Secure
WSO2
 
PDF
Dev Dives: Accelerating agentic automation with Autopilot for Everyone
UiPathCommunity
 
PDF
Bitkom eIDAS Summit | European Business Wallet: Use Cases, Macroeconomics, an...
Carsten Stoecker
 
PPTX
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
PPTX
Practical Applications of AI in Local Government
OnBoard
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PPTX
Smarter Governance with AI: What Every Board Needs to Know
OnBoard
 
PDF
Hello I'm "AI" Your New _________________
Dr. Tathagat Varma
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
Java 25 and Beyond - A Roadmap of Innovations
Ana-Maria Mihalceanu
 
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Pitch ...
Michele Kryston
 
How to Visualize the ​Spatio-Temporal Data Using CesiumJS​
SANGHEE SHIN
 
Paycifi - Programmable Trust_Breakfast_PPTXT
FinTech Belgium
 
DoS Attack vs DDoS Attack_ The Silent Wars of the Internet.pdf
CyberPro Magazine
 
Governing Geospatial Data at Scale: Optimizing ArcGIS Online with FME in Envi...
Safe Software
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
Pipeline Industry IoT - Real Time Data Monitoring
Safe Software
 
CapCut Pro PC Crack Latest Version Free Free
josanj305
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
Quantum Threats Are Closer Than You Think – Act Now to Stay Secure
WSO2
 
Dev Dives: Accelerating agentic automation with Autopilot for Everyone
UiPathCommunity
 
Bitkom eIDAS Summit | European Business Wallet: Use Cases, Macroeconomics, an...
Carsten Stoecker
 
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
Practical Applications of AI in Local Government
OnBoard
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
Smarter Governance with AI: What Every Board Needs to Know
OnBoard
 
Hello I'm "AI" Your New _________________
Dr. Tathagat Varma
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
Java 25 and Beyond - A Roadmap of Innovations
Ana-Maria Mihalceanu
 

Development with Git and Gerrit - Eclipse DemoCamp Stuttgart - 2010-11-23

  • 1. Development Process with EGit and Gerrit Code Review http://eclipse.org/egit http://code.google.com/p/gerrit/Matthias Sohn (SAP) [email protected] + = Stefan Lay (SAP) [email protected]
  • 2. Learning Git – There's no free lunch! Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn … the purpose of this presentation isn't to teach you Git, you have to do that yourself!
  • 3. Git, EGit and JGit - Demo and Tour of EGit Code Review at Eclipse Gerrit - Demo of Gerrit Conclusion Outline Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
  • 4. Git … a distributed revision control system built by the Linux project to automate patch workflow Distributed means no central repository Really good at merging Structured around commits (i.e. patches) Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
  • 5. Git at Eclipse Eclipse defined a roadmap to move to Git in 2009 CVS is deprecated; SVN will be deprecated in the future EGit is an Eclipse Team provider for Git http://www.eclipse.org/egit/ JGit is a lightweight Java library implementing Git http://www.eclipse.org/jgit/ The goal is to build an Eclipse community around Git EGit and JGit are still beta and we want to establish a feedback loop to improve the tooling Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
  • 6. History of JGit and EGit 2005 Linus Torvalds starts Git 2006 Shawn Pearce starts JGit 2009 Eclipse decides for Git Roadmap JGit/EGit move to eclipse.org SAP joins JGit/EGit 3/2010 Released 0.7 (first release at Eclipse) Diff/Merge Algorithms, Automatic IP Logs 6/2010 Released 0.8 (Helios) Usability Improvements, Git Repositories View, Tagging 9/2010 Released 0.9 (Helios SR1) Merge, Synchronize View, .gitignore Planned: 12/2010 0.10 (Helios SR2) 3/2011 0.11 6/2011 1.0 (Indigo) Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
  • 7. Features EGit 0.10 git-add git-format-patch git-shortlog git-relink git-rev-parse git-am git-gc git-show git-remote git-show-branch git-archive git-grep git-stash git-repack git-verify-tag git-bisect git-init git-status git-replace git-whatchanged git-branch git-log git-submodule git-annotate git-bundle * git-merge * git-tag * git-blame .gitignore git-checkout git-mv git-config git-cherry git daemon git-cherry-pick git-notes git-fast-export git-count-objects Visual merge tool git-clean  git-pull git-fast-import git-difftool ** HTTP support git-clone git-push git-filter-branch git-fsck * Mylyn integration git-commit ** git-rebase git-mergetool git-get-tar-commit-id * Staging View git-describe git-reset git-pack-refs git-help * Synchronize View git-diff git-revert git-prune git-merge-tree History View git-fetch git-rm git-reflog git-rerere Repositories View ** planned for 0.10, * planned for 0.11 supported, partial, missing, irrelevant for EGit
  • 8. Demo: A tour of EGit Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
  • 9. Git, EGit and JGit Code Review and Eclipse Gerrit Conclusion Outline Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
  • 10. What is Peer Code Review? 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 Often an integral part of coding process Debugging someone else's broken code – Involuntary code review: Not so good; emotions may flare Guido van Rossum [1] [1] http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdf Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
  • 11. Code Review – Benefits Four eyes catch more bugs Enforce coding standards Mentoring of new developers Establish trust relationships Good alternative to pair programming Guido van Rossum [1] [1] http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdf Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
  • 12. Code Review at Eclipse ? Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
  • 13. Eclipse – Review Process Contributors • create patch using CVS, SVN, Git • attach patch to bug in Bugzilla Committers • do code and IP review in Bugzilla • initiate IP review for changes > 250 loc • commit accepted changes IP Team • does IP reviews Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
  • 14. Code Review via Bugzilla Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
  • 15. Git, EGit and JGit Code Review and Eclipse Gerrit Conclusion Outline Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
  • 16. Gerrit Code Review Gerrit is a Code Review system based on JGit http://code.google.com/p/gerrit/ Also serves as a git server adding access control and workflow Used by • Android https://review.source.android.com/ • JGit, EGit http://egit.eclipse.org/r/ • Google, SAP, … Eclipse wants to use it … Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
  • 17. Gerrit Workflow Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
  • 18. Gerrit http://egit.eclipse.org/r/ - change,825Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
  • 19. Code Review – Our Experience • Review all changes! • Review takes time (1 day … weeks) • Implies parallel workflow • Every team member should do reviews regularly • Authors have to wait for the review to happen • Git & Gerrit help a lot here Code Review | © 2010 by M. Sohn
  • 20. Demo: Code Review with Gerrit Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
  • 21. Git, EGit and JGit Code Review and Eclipse Gerrit Conclusion Outline Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn
  • 22. Conclusion EGit and JGit are evolving quickly Gerrit enables a nice code review workflow Git supports convenient branching and merging Git is very fast and scales well Eclipse and major other OS projects are moving to Git Git and Gerrit kick ass! Using Git in Eclipse | © 2010 by C. Aniszczyk and M. Sohn