Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014

Preview:

DESCRIPTION

 

Citation preview

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)

Introduction

ExercisesSetup & Cloning a RepositoryLocal Development with EGitGerrit Code Review

Q & A

Agenda

Version Control

Distributed

Created 2005 for Linux Kernel

Enables collaborative Workflows

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

Development with Git and Eclipse

Developer PC

Gerrit

git gitgitgit

Developer PC

gitgit

clone repository

Sample Application

1 Setup & Clone the example repository

2 Develop a feature

3 Work on branches in parallel

Git Exercises

Git in a nutshell

Storage

Create/checkout commit

Commits

Branches

Branches

4 Merging, Rebasing, Resolving Conflicts

5 History view

6 Interactive rebase

7 Git blame

Git Exercises

Gerrit code review

Started by Google for code review

of the Android OS project

What is Gerrit ?

Git serverAccess controlCode review

Plugins

Roles in a Gerrit project

ContributorReviewerCommitter

Admin

master

Contributor

Reviewer

Fetch / Push

Fetch

CI Build Server

FetchVote

Gerrit

code reviewbranches

Fetch

CommentVote

Review Process

Submit

Commenting

Copyright © S. Lay, M. Sohn

Discuss and Improve

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

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

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

Review feedback

Review each commit separately

Amend the commit to react on feedback -> clean history

Latest commit can be submitted

Pushing to Gerrit

Demo

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

New Change Screen

Questions ?

Recommended