code matters - eclipse hackers git guide - eclipsecon france 2014

32
Code Matters Eclipse Hackers Git Guide EclipseCon France 2014 http://eclipse.org/jgit http://eclipse.org/egit http://code.google.com/p/gerrit Matthias Sohn (SAP) Mickael Istria (Red Hat)

Upload: msohn

Post on 11-Nov-2014

341 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

Code Matters Eclipse Hackers Git Guide

EclipseCon France 2014

http://eclipse.org/jgithttp://eclipse.org/egit

http://code.google.com/p/gerrit

Matthias Sohn(SAP)

Mickael Istria(Red Hat)

Page 2: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

Introduction

ExercisesSetup & Cloning a RepositoryLocal Development with EGitGerrit Code Review

Q & A

Agenda

Page 3: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

Version Control

Distributed

Created 2005 for Linux Kernel

Enables collaborative Workflows

Page 4: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

Git at Eclipse

2010 2011 2012 2014

EGit and JGit use Git and

Gerrit

Projects could move to git

Gerrit available for all projects

CVS supportended

2013

SVN support ends

Page 5: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

Development with Git and Eclipse

Page 6: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

Developer PC

Gerrit

git gitgitgit

Developer PC

gitgit

clone repository

Page 7: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

Sample Application

Page 8: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

1 Setup & Clone the example repository

2 Develop a feature

3 Work on branches in parallel

Git Exercises

Page 9: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

Git in a nutshell

Page 10: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

Storage

Page 11: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

Create/checkout commit

Page 12: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

Commits

Page 13: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

Branches

Page 14: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

Branches

Page 15: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

4 Merging, Rebasing, Resolving Conflicts

5 History view

6 Interactive rebase

7 Git blame

Git Exercises

Page 16: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

Gerrit code review

Page 17: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

Started by Google for code review

of the Android OS project

Page 19: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

What is Gerrit ?

Git serverAccess controlCode review

Plugins

Page 20: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

Roles in a Gerrit project

ContributorReviewerCommitter

Admin

Page 21: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

master

Contributor

Reviewer

Fetch / Push

Fetch

CI Build Server

FetchVote

Gerrit

code reviewbranches

Fetch

CommentVote

Review Process

Submit

Page 22: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

Commenting

Page 23: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

Copyright © S. Lay, M. Sohn

Discuss and Improve

Page 24: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

CI Build Server

Fetch

Gerrit

Committer

Code Review+2 approve+1 ok, not sure-1 needs improvement-2 veto

Fetch

Verified+1 build & test ok-1 build or test broken

Voting

Page 25: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

+1 Build / test ok-1 Build / test failed

+2 Accepted (committer) +1 Looks ok -1 Please improve -2 Veto (committer)

Review feedback

Page 26: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

Review each commit separately

Amend the commit to react on feedback -> clean history

Latest commit can be submitted

Page 27: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

Pushing to Gerrit

Page 28: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

Demo

Page 29: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

Gerrit Exercises1 Configure push to Gerrit2 Fetch the latest state3 Push change to Gerrit4 Review change5 Improve a change6 Submit a change7 New Changescreen8 View Gerrit review notes

Page 30: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

New Change Screen

Page 31: Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

Questions ?