EffizienteEntwicklungsprozessemit Eclipse, Git und Gerrithttp://eclipse.org/egit+=Stefan Lay (SAP)stefan.lay@sap.comTwitter: @stefanlay
AgendaGit – einverteiltesVersionierungssystemGitbei Eclipse und innerhalbeinesUnternehmensCode Review mitGerritDemo: LebenszykluseinerÄnderungQ & A  Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG
Die HauptdarstellerGitisteinverteiltesVersionierungssystemEGitisteinEclipse Team Provider fürGithttp://www.eclipse.org/egit/JGitisteineleichtgewichtige Java-BibliothekfürGithttp://www.eclipse.org/jgit/Gerritistein Code-Review-System, basierend auf JGit http://code.google.com/p/gerrit/Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG
Geschichte von Git, JGit und EGit2005    LinusTorvaldsinitiiertGit2006    Shawn Pearce initiiert JGit2009    Eclipse entscheidetsichfürGit            JGit/EGit ziehen um nach eclipse.org	 SAP beteiligtsich 3/2010 JGit/EGit Release 0.7 (erstes Release bei Eclipse)                          Diff/Merge Algorithms, Automatic IP Logs 6/2010Release 0.8 (Helios)            GitRepositories View, Tagging9/2010Release 0.9 (Helios SR1)	  Merge, Synchronize View, .gitignoreEffiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG
5Git vs. CVS/SVNZentralisiert
--
--
Langsam
Patches veralten
Merge ist problematisch
Verteilt
Historie lokal
Offline-Arbeit mit Versionierung
Schnell
Einfaches Rebase
Sehr gute Mergeunterstützung -> lokale Feature-BranchesUnderstanding and Using Git at Eclipse | © 2010 by C. Aniszczyk, S. Pearce, R. Rosenberg and M. Sohn
Eclipse - RollenCommitterGewählt in einemformalenProzessKanneigeneÄnderungenohne Review committenContributorKleineÄnderungen		von CommitterngereviewtGrößereÄnderungenzusätzlichformales IP review 		in speziellemgeschütztenBugzillaReview ToolPatches werden an BugzillaangehängtKommentare in BugzillaEffiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG
Code Review in BugzillaCode Review | © 2010 by M. Sohn
Git @ EclipseEGit/Jgit-Entwicklung: http://egit.eclipse.orghttp://git.eclipse.org/hostetlive Eclipse Git RepositoriesVirgo, Mylyn Review, ScalaModules, SWTBot …http://dev.eclipse.org/git/index.html git mirrors für CVS		Read-only Kopien, up-to-dateClonenmitgit:// oder http://“Git is the future SCM of Eclipse (Chris Aniszczyk)”Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG
Git innerhalb eines Unternehmens?Git wurde für die Entwicklung des Linux Kernels konzipiertVerteilte Entwicklung bringt Vorteile für Contributors in Open-Source-ProjektenComitter / contributor model auch innerhalb eines Unternehmens -> für re-use-KomponentenProduktivität durch lokale Feature branchesGitand Gerrit ermöglichen einen (Peer) Code reviewworkflow
Peer Code ReviewGuido van Rossum, Google [1]When one developer writes code, another developer is asked to review that codeA careful line-by-line critique Happens in a non-threatening context Goal is cooperation, not fault-finding Often an integral part of coding processDebugging 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.pdfCode Review | © 2010 by M. Sohn
Code Review – BenefitsGuido van Rossum, Google [1]Four eyes catch more bugsCatch bugs early to save hours of debuggingEnforce coding standardsKeep overall readability & code quality highMentoring of new developers Learn from mistakes without breaking stuffEstablish trust relationships Prepare for more delegationGood alternative to pair programmingasynchronous and across locations[1] http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdfCode Review | © 2010 by M. Sohn
Gerrit Code ReviewGerritista ein auf JGit basierendes Code-Review-Systemhttp://code.google.com/p/gerrit/
DientauchalsgitServer
FügtZugriffskontrolleund Workflow hinzu
Benutzt von
Androidhttps://review.source.android.com/

Eclipse, Git und Gerrit

  • 1.
     EffizienteEntwicklungsprozessemit Eclipse, Gitund Gerrithttp://eclipse.org/egit+=Stefan Lay (SAP)stefan.lay@sap.comTwitter: @stefanlay
  • 2.
    AgendaGit – einverteiltesVersionierungssystemGitbeiEclipse und innerhalbeinesUnternehmensCode Review mitGerritDemo: LebenszykluseinerÄnderungQ & A  Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG
  • 3.
    Die HauptdarstellerGitisteinverteiltesVersionierungssystemEGitisteinEclipse TeamProvider fürGithttp://www.eclipse.org/egit/JGitisteineleichtgewichtige Java-BibliothekfürGithttp://www.eclipse.org/jgit/Gerritistein Code-Review-System, basierend auf JGit http://code.google.com/p/gerrit/Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG
  • 4.
    Geschichte von Git,JGit und EGit2005    LinusTorvaldsinitiiertGit2006    Shawn Pearce initiiert JGit2009    Eclipse entscheidetsichfürGit JGit/EGit ziehen um nach eclipse.org SAP beteiligtsich 3/2010 JGit/EGit Release 0.7 (erstes Release bei Eclipse)                          Diff/Merge Algorithms, Automatic IP Logs 6/2010Release 0.8 (Helios)            GitRepositories View, Tagging9/2010Release 0.9 (Helios SR1) Merge, Synchronize View, .gitignoreEffiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
    Sehr gute Mergeunterstützung-> lokale Feature-BranchesUnderstanding and Using Git at Eclipse | © 2010 by C. Aniszczyk, S. Pearce, R. Rosenberg and M. Sohn
  • 17.
    Eclipse - RollenCommitterGewähltin einemformalenProzessKanneigeneÄnderungenohne Review committenContributorKleineÄnderungen von CommitterngereviewtGrößereÄnderungenzusätzlichformales IP review in speziellemgeschütztenBugzillaReview ToolPatches werden an BugzillaangehängtKommentare in BugzillaEffiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG
  • 18.
    Code Review inBugzillaCode Review | © 2010 by M. Sohn
  • 19.
    Git @ EclipseEGit/Jgit-Entwicklung:http://egit.eclipse.orghttp://git.eclipse.org/hostetlive Eclipse Git RepositoriesVirgo, Mylyn Review, ScalaModules, SWTBot …http://dev.eclipse.org/git/index.html git mirrors für CVS Read-only Kopien, up-to-dateClonenmitgit:// oder http://“Git is the future SCM of Eclipse (Chris Aniszczyk)”Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG
  • 20.
    Git innerhalb einesUnternehmens?Git wurde für die Entwicklung des Linux Kernels konzipiertVerteilte Entwicklung bringt Vorteile für Contributors in Open-Source-ProjektenComitter / contributor model auch innerhalb eines Unternehmens -> für re-use-KomponentenProduktivität durch lokale Feature branchesGitand Gerrit ermöglichen einen (Peer) Code reviewworkflow
  • 21.
    Peer Code ReviewGuidovan Rossum, Google [1]When one developer writes code, another developer is asked to review that codeA careful line-by-line critique Happens in a non-threatening context Goal is cooperation, not fault-finding Often an integral part of coding processDebugging 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.pdfCode Review | © 2010 by M. Sohn
  • 22.
    Code Review –BenefitsGuido van Rossum, Google [1]Four eyes catch more bugsCatch bugs early to save hours of debuggingEnforce coding standardsKeep overall readability & code quality highMentoring of new developers Learn from mistakes without breaking stuffEstablish trust relationships Prepare for more delegationGood alternative to pair programmingasynchronous and across locations[1] http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdfCode Review | © 2010 by M. Sohn
  • 23.
    Gerrit Code ReviewGerritistaein auf JGit basierendes Code-Review-Systemhttp://code.google.com/p/gerrit/
  • 24.
  • 25.
  • 26.
  • 27.