0
Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit<br />http://code.google.com/p/gerrit<br />http://eclipse.org/e...
Agenda<br />Git – einverteiltesVersionierungssystem<br />Code Review mitGerrit<br />Demo: 	Entwicklung mit Gerrit Code Rev...
Die Hauptdarsteller<br />GitisteinverteiltesVersionierungssystem<br />EGitisteinEclipse Team Provider fürGit<br />http://w...
Geschichte von Git, JGit und EGit<br />2005    LinusTorvaldsinitiiertGit<br />2006    Shawn Pearce initiiert JGit<br />200...
Git – einverteiltesVersionierungssystem<br />  <br />JederEntwicklerbesitzteinkomplettes Repository<br />VerteilteVersioni...
Github
 Integration in Eclipse, Netbeans, XCode</li></ul>Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by ...
Git – einverteiltesVersionierungssystem<br />  <br />Gitversioniert Repositories, nicht Files<br />Added File 1<br />Effiz...
Git – einverteiltesVersionierungssystem<br />  <br />Gitversioniert Repositories, nicht Files:<br /><ul><li> Commit erzeug...
 Version ist global eindeutigüber Hash-Wert (SHA-1)</li></ul>1<br />Added File 1<br />Commit<br />Effiziente Entwicklungsp...
Git – einverteiltesVersionierungssystem<br />  <br />Gitversioniert Repositories, nicht Files<br />Edited File 1<br />Adde...
Git – einverteiltesVersionierungssystem<br />  <br />Gitversioniert Repositories, nicht Files<br />Edited File 1<br />Adde...
Git – einverteiltesVersionierungssystem<br />  <br />Branches: Zeiger auf Commits<br />Edited File 1<br />Added File 2<br ...
Git – einverteiltesVersionierungssystem<br />  <br />Clonen: Duplizieren des Repositories<br />clone<br />Edited File 1<br...
Git – einverteiltesVersionierungssystem<br />  <br />Arbeitenmitlokalen branches<br />feature1<br />Edited File 1<br />Add...
Git – einverteiltesVersionierungssystem<br />  <br />Arbeitenmitlokalen branches<br />feature1<br />Edited File 2<br />3<b...
Git – einverteiltesVersionierungssystem<br />  <br />Arbeitenmitlokalen branches<br />push<br />stefan<br />feature1<br />...
Git – einverteiltesVersionierungssystem<br />  <br />Wiekommtmein Commit in den zentralen master-branch?<br />stefan<br />...
Git – einverteiltesVersionierungssystem<br />  <br />Wiekommtmein Commit in den zentralen master-branch?<br /><ul><li>Jede...
Integrationsmanager merged
Gerrit peer code review</li></ul>stefan<br />feature1<br />3<br />3<br />Edited File 2<br />Edited File 2<br />Edited File...
Neue* Features in Egit 1.0<br />Release 0.10<br /><ul><li> Pull
 Rebase
 Cherry-Pick
 Merge tool
 http Authentifizierung</li></ul>* seit 0.9<br />Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by S...
Neue* Features in Egit 1.0<br />Release 0.10<br /><ul><li> Pull
 Rebase
 Cherry-Pick
 Merge tool
 http Authentifizierung</li></ul>Release 0.11<br /><ul><li> Fetch from Gerrit
 Push to / Fetch from Upstream
 Tree Compare
 Mylyn Integration</li></ul>* seit 0.9<br />Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan...
Neue* Features in Egit 1.0<br />Release 0.10<br /><ul><li> Pull
 Rebase
 Cherry-Pick
 Merge tool
 http Authentifizierung</li></ul>Release 0.11<br /><ul><li> Fetch from Gerrit
 Push to / Fetch from Upstream
 Tree Compare
 Mylyn Integration</li></ul>Release 0.12<br /><ul><li> Gerrit Configuration
 Git config in preferences
 Gerrit Mylyn connector</li></ul>* seit 0.9<br />Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by S...
Neue* Features in Egit 1.0<br />Release 0.10<br /><ul><li> Pull
 Rebase
 Cherry-Pick
 Merge tool
 http Authentifizierung</li></ul>Release 0.11<br /><ul><li> Fetch from Gerrit
 Push to / Fetch from Upstream
 Tree Compare
 Mylyn Integration</li></ul>Release 0.12<br /><ul><li> Gerrit Configuration
 Git config in preferences
 Gerrit Mylyn connector</li></ul>Release 1.0<br /><ul><li> Commit Search und Commit Viewer
 Staging View
 Blame
 GitHub Mylyn connector</li></ul>* seit 0.9<br />Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by S...
EtwasStatistik<br />Zwischen 0.9 und 1.0<br /><ul><li> 1013 commits in EGit
 796 commits in JGit</li></ul>Committer (Contributor):<br /><ul><li> EGit: 15 (47), JGit: 9 (32)</li></ul>Fixed Bugs<br />...
Upcoming SlideShare
Loading in...5
×

Effiziente Entwicklungsprozesse mit Git, EGit und Gerrit - Intland Technology Day Stuttgart 2011/06/08

2,121

Published on

Presentation (in german) on efficient development processes with EGit and Gerrit held on Intland Technology Day in Stuttgart on 2011/06/08

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,121
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
34
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Effiziente Entwicklungsprozesse mit Git, EGit und Gerrit - Intland Technology Day Stuttgart 2011/06/08"

  1. 1. Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit<br />http://code.google.com/p/gerrit<br />http://eclipse.org/egit<br />+<br />=<br />Matthias Sohn (SAP)<br />matthias.sohn@sap.com<br />Twitter: @masohn<br />
  2. 2. Agenda<br />Git – einverteiltesVersionierungssystem<br />Code Review mitGerrit<br />Demo: Entwicklung mit Gerrit Code Review <br />neue Features in EGit<br />Q & A<br />  <br />Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, Edwin Kempin, SAP AG<br />
  3. 3. Die Hauptdarsteller<br />GitisteinverteiltesVersionierungssystem<br />EGitisteinEclipse Team Provider fürGit<br />http://www.eclipse.org/egit/<br />JGitisteineleichtgewichtige Java-BibliothekfürGit<br />http://www.eclipse.org/jgit/<br />Gerritistein Code-Review-System, basierend auf JGit <br />http://code.google.com/p/gerrit/<br />Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, SAP AG<br />
  4. 4. Geschichte von Git, JGit und EGit<br />2005    LinusTorvaldsinitiiertGit<br />2006    Shawn Pearce initiiert JGit<br />2009    Eclipse entscheidetsichfürGit JGit/EGit ziehen um nach eclipse.org SAP beteiligtsich<br />JGit/EGit-ProjektebenutzenGerrit <br />3/2010 JGit/EGit Release 0.7 (erstes Release bei Eclipse)  <br />6/2010 Release 0.8 (Helios) 9/2010 Release 0.9 (Helios SR1)<br />2010/11 Releases 0.10 – 0.12            <br />3/2011 Eclipse Community Award: Most Innovative new feature<br />6/2011 Release 1.0 (Eclipse Indigo)<br />Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG<br />
  5. 5. Git – einverteiltesVersionierungssystem<br />  <br />JederEntwicklerbesitzteinkomplettes Repository<br />VerteilteVersionierungssysteme (DVCS):<br />Git, Mercurial, Bazaar, …<br />Git: 2005 für die Linux-Kernel-Entwicklung<br />GitistimKommen: <br /><ul><li> Linux, Android, Eclipse, Ruby on Rails …
  6. 6. Github
  7. 7. Integration in Eclipse, Netbeans, XCode</li></ul>Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, Edwin Kempin, SAP AG<br />
  8. 8. Git – einverteiltesVersionierungssystem<br />  <br />Gitversioniert Repositories, nicht Files<br />Added File 1<br />Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, Edwin Kempin, SAP AG<br />
  9. 9. Git – einverteiltesVersionierungssystem<br />  <br />Gitversioniert Repositories, nicht Files:<br /><ul><li> Commit erzeugtneue Version des Repositories
  10. 10. Version ist global eindeutigüber Hash-Wert (SHA-1)</li></ul>1<br />Added File 1<br />Commit<br />Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, Edwin Kempin, SAP AG<br />
  11. 11. Git – einverteiltesVersionierungssystem<br />  <br />Gitversioniert Repositories, nicht Files<br />Edited File 1<br />Added File 2<br />1<br />Added File 1<br />Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, Edwin Kempin, SAP AG<br />
  12. 12. Git – einverteiltesVersionierungssystem<br />  <br />Gitversioniert Repositories, nicht Files<br />Edited File 1<br />Added File 2<br />2<br />Commit<br />1<br />Added File 1<br />Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, Edwin Kempin, SAP AG<br />
  13. 13. Git – einverteiltesVersionierungssystem<br />  <br />Branches: Zeiger auf Commits<br />Edited File 1<br />Added File 2<br />2<br />master<br />1<br />Added File 1<br />Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, Edwin Kempin, SAP AG<br />
  14. 14. Git – einverteiltesVersionierungssystem<br />  <br />Clonen: Duplizieren des Repositories<br />clone<br />Edited File 1<br />Added File 2<br />Edited File 1<br />Added File 2<br />2<br />2<br />master<br />origin/<br />master<br />1<br />1<br />Added File 1<br />Added File 1<br />Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, Edwin Kempin, SAP AG<br />
  15. 15. Git – einverteiltesVersionierungssystem<br />  <br />Arbeitenmitlokalen branches<br />feature1<br />Edited File 1<br />Added File 2<br />2<br />origin/<br />master<br />1<br />Added File 1<br />Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, Edwin Kempin, SAP AG<br />
  16. 16. Git – einverteiltesVersionierungssystem<br />  <br />Arbeitenmitlokalen branches<br />feature1<br />Edited File 2<br />3<br />Edited File 1<br />Added File 2<br />2<br />origin/<br />master<br />1<br />Added File 1<br />Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, Edwin Kempin, SAP AG<br />
  17. 17. Git – einverteiltesVersionierungssystem<br />  <br />Arbeitenmitlokalen branches<br />push<br />stefan<br />feature1<br />3<br />3<br />Edited File 2<br />Edited File 2<br />Edited File 1<br />Added File 2<br />Edited File 1<br />Added File 2<br />2<br />2<br />origin/<br />master<br />master<br />1<br />1<br />Added File 1<br />Added File 1<br />Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, Edwin Kempin, SAP AG<br />
  18. 18. Git – einverteiltesVersionierungssystem<br />  <br />Wiekommtmein Commit in den zentralen master-branch?<br />stefan<br />feature1<br />3<br />3<br />Edited File 2<br />Edited File 2<br />Edited File 1<br />Added File 2<br />Edited File 1<br />Added File 2<br />2<br />2<br />origin/<br />master<br />master<br />1<br />1<br />Added File 1<br />Added File 1<br />Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, Edwin Kempin, SAP AG<br />
  19. 19. Git – einverteiltesVersionierungssystem<br />  <br />Wiekommtmein Commit in den zentralen master-branch?<br /><ul><li>JederEntwicklerpusheddirekt
  20. 20. Integrationsmanager merged
  21. 21. Gerrit peer code review</li></ul>stefan<br />feature1<br />3<br />3<br />Edited File 2<br />Edited File 2<br />Edited File 1<br />Added File 2<br />Edited File 1<br />Added File 2<br />2<br />2<br />origin/<br />master<br />master<br />1<br />1<br />Added File 1<br />Added File 1<br />Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, Edwin Kempin, SAP AG<br />
  22. 22. Neue* Features in Egit 1.0<br />Release 0.10<br /><ul><li> Pull
  23. 23. Rebase
  24. 24. Cherry-Pick
  25. 25. Merge tool
  26. 26. http Authentifizierung</li></ul>* seit 0.9<br />Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG<br />
  27. 27. Neue* Features in Egit 1.0<br />Release 0.10<br /><ul><li> Pull
  28. 28. Rebase
  29. 29. Cherry-Pick
  30. 30. Merge tool
  31. 31. http Authentifizierung</li></ul>Release 0.11<br /><ul><li> Fetch from Gerrit
  32. 32. Push to / Fetch from Upstream
  33. 33. Tree Compare
  34. 34. Mylyn Integration</li></ul>* seit 0.9<br />Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG<br />
  35. 35. Neue* Features in Egit 1.0<br />Release 0.10<br /><ul><li> Pull
  36. 36. Rebase
  37. 37. Cherry-Pick
  38. 38. Merge tool
  39. 39. http Authentifizierung</li></ul>Release 0.11<br /><ul><li> Fetch from Gerrit
  40. 40. Push to / Fetch from Upstream
  41. 41. Tree Compare
  42. 42. Mylyn Integration</li></ul>Release 0.12<br /><ul><li> Gerrit Configuration
  43. 43. Git config in preferences
  44. 44. Gerrit Mylyn connector</li></ul>* seit 0.9<br />Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG<br />
  45. 45. Neue* Features in Egit 1.0<br />Release 0.10<br /><ul><li> Pull
  46. 46. Rebase
  47. 47. Cherry-Pick
  48. 48. Merge tool
  49. 49. http Authentifizierung</li></ul>Release 0.11<br /><ul><li> Fetch from Gerrit
  50. 50. Push to / Fetch from Upstream
  51. 51. Tree Compare
  52. 52. Mylyn Integration</li></ul>Release 0.12<br /><ul><li> Gerrit Configuration
  53. 53. Git config in preferences
  54. 54. Gerrit Mylyn connector</li></ul>Release 1.0<br /><ul><li> Commit Search und Commit Viewer
  55. 55. Staging View
  56. 56. Blame
  57. 57. GitHub Mylyn connector</li></ul>* seit 0.9<br />Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG<br />
  58. 58. EtwasStatistik<br />Zwischen 0.9 und 1.0<br /><ul><li> 1013 commits in EGit
  59. 59. 796 commits in JGit</li></ul>Committer (Contributor):<br /><ul><li> EGit: 15 (47), JGit: 9 (32)</li></ul>Fixed Bugs<br /><ul><li> 455 egit + jgit</li></ul>Indigo packages:<br /><ul><li> RCP/RAP, Modeling and LinuxTools</li></ul>* seit 0.9<br />Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG<br />
  60. 60. Gerrit ?<br />Code Review | © 2010 by M. Sohn<br />
  61. 61. Gerrit<br />Server, der die zentralenGit Repositories verwaltet<br />Gerrit<br />Code Review | © 2010 by M. Sohn<br />
  62. 62. Gerrit<br />Access Control<br />Gerrit<br />Code Review | © 2010 by M. Sohn<br />
  63. 63. Gerrit<br />Access Control<br />Gerrit<br />Code Review | © 2010 by M. Sohn<br />
  64. 64. Gerrit<br />Access Control<br />Gerrit<br />Code Review | © 2010 by M. Sohn<br />
  65. 65. Gerrit<br />Access Control<br />Gerrit<br />Code Review | © 2010 by M. Sohn<br />
  66. 66. Gerrit<br />Code Review<br />Gerrit<br />Code Review | © 2010 by M. Sohn<br />
  67. 67. Gerrit<br />Code Review<br />Gerrit<br />Code Review | © 2010 by M. Sohn<br />
  68. 68. Gerrit<br />Code Review<br />Gerrit<br />Code Review | © 2010 by M. Sohn<br />
  69. 69. Gerrit<br />Code Review<br />Gerrit<br />Code Review | © 2010 by M. Sohn<br />
  70. 70. Code Review – Vorteile<br />Guido van Rossum [1]<br />[1] http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdf<br />Code Review | © 2010 by M. Sohn<br />
  71. 71. Code Review – Vorteile<br />Guido van Rossum [1]<br />VierAugenfindenmehr Bugs<br />[1] http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdf<br />Code Review | © 2010 by M. Sohn<br />
  72. 72. Code Review – Vorteile<br />Guido van Rossum [1]<br />VierAugenfindenmehr Bugs<br />Einhaltung von Coding Standards<br />[1] http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdf<br />Code Review | © 2010 by M. Sohn<br />
  73. 73. Code Review – Vorteile<br />Guido van Rossum [1]<br />VierAugenfindenmehr Bugs<br />Einhaltung von Coding Standards<br />Mentoring von neuenEntwicklern<br />[1] http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdf<br />Code Review | © 2010 by M. Sohn<br />
  74. 74. Code Review – Vorteile<br />Guido van Rossum [1]<br />VierAugenfindenmehr Bugs<br />Einhaltung von Coding Standards<br />Mentoring von neuenEntwicklern<br />Etablierung von Vertrauensverhältnissen<br />[1] http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdf<br />Code Review | © 2010 by M. Sohn<br />
  75. 75. Code Review – Vorteile<br />Guido van Rossum [1]<br />VierAugenfindenmehr Bugs<br />Einhaltung von Coding Standards<br />Mentoring von neuenEntwicklern<br />Etablierung von Vertrauensverhältnissen<br />Gute Alternative zuPair Programming<br />[1] http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdf<br />Code Review | © 2010 by M. Sohn<br />
  76. 76. Gerrit<br />git<br />git<br />git<br />git<br />- verify proposed changes<br />- continuous integration builds<br />- clone repository <br />- fetch / push changes<br />Developer PC<br />Developer PC<br />Hudson<br />git<br />git<br />Copyright © M. Sohn, S. Lay, S. Zivkov, C. Halstrick, C. Aniszczyk, S. Pearce<br />
  77. 77. Gerrit<br />git<br />git<br />git<br />git<br />master<br />change 12<br />submit accepted <br />change 12<br />change 10<br />change 23<br />fetch change 23 <br />to try it<br />push improved <br />change 10<br />fetch master to get updates<br />Developer PC<br />Developer PC<br />git<br />git<br />git<br />git<br />Copyright © M. Sohn, S. Lay, S. Zivkov, C. Halstrick, C. Aniszczyk, S. Pearce<br />
  78. 78. Gerrit - Workflow<br />Code Review | © 2010 by M. Sohn<br />
  79. 79. Gerrit<br />http://egit.eclipse.org/r/ - change,825<br />Code Review | © 2010 by M. Sohn<br />
  80. 80. Gerrit<br />Was istsonstnochwissenswert?<br />Code Review | © 2010 by M. Sohn<br />
  81. 81. Gerrit<br />Gerrit = 4. Generation Code Review @ Google<br />Code Review | © 2010 by M. Sohn<br />
  82. 82. Gerrit<br />Gerrit = 4. Generation Code Review @ Google<br />Open Source mit Apache 2 Lizenz<br />Code Review | © 2010 by M. Sohn<br />
  83. 83. Gerrit<br />Gerrit = 4. Generation Code Review @ Google<br />Open Source mit Apache 2 Lizenz<br />Gerritbasiert auf JGit und GWT<br />Code Review | © 2010 by M. Sohn<br />
  84. 84. Gerrit<br />Gerrit = 4. Generation Code Review @ Google<br />Open Source mit Apache 2 Lizenz<br />Gerritbasiert auf JGit und GWT<br />Storage: JGit & DB<br />Code Review | © 2010 by M. Sohn<br />
  85. 85. Gerrit<br />Gerrit = 4. Generation Code Review @ Google<br />Open Source mit Apache 2 Lizenz<br />Gerritbasiert auf JGit und GWT<br />Storage: JGit & DB<br /> wird ersetzt durch <br />JGit only (erster Teil mit Gerrit 2.2) <br /> optional: JGit on distributed hashtable (HBase)<br /> -> scalable Gerrit on the Cloud<br />Code Review | © 2010 by M. Sohn<br />
  86. 86. Gerrit<br />Gerrit = 4. Generation Code Review @ Google<br />Open Source mit Apache 2 Lizenz<br />Gerritbasiert auf JGit und GWT<br />Storage: JGit & DB<br /> wird ersetzt durch <br />JGit only (erster Teil mit Gerrit 2.2) <br /> optional: JGit on distributed hashtable (HBase)<br /> -> scalable Gerrit on the Cloud<br />demnächst:<br /> Prolog rule engine für konfigurierbare Workflows<br /> Web app -> OSGi app for pluggable functionality<br />Code Review | © 2010 by M. Sohn<br />
  87. 87. Gerrit<br />Gerrit = 4. Generation Code Review @ Google<br />Open Source mit Apache 2 Lizenz<br />Gerritbasiert auf JGit und GWT<br />Storage: JGit & DB<br /> wird ersetzt durch <br />JGit only (erster Teil mit Gerrit 2.2) <br /> optional: JGit on distributed hashtable (HBase)<br /> -> scalable Gerrit on the Cloud<br />Verwender:<br /><ul><li>Android
  88. 88. JGit, EGit
  89. 89. Google, SAP, …
  90. 90. demnächst Eclipse …</li></ul>Code Review | © 2010 by M. Sohn<br />
  91. 91. No Free Lunch ? -- DEMO<br />Code Review | © 2010 by M. Sohn<br />
  92. 92. Code Review – Our Experience<br />Review all changes!<br />Review takes time (1 day … weeks) <br />Implies parallel workflow <br />Every team member should do reviews regularly<br />Authors have to wait for the review to happen<br />Git & Gerrit help a lot here<br />Code Review | © 2010 by M. Sohn<br />
  93. 93. Code Review – Tips<br />Small changes are much easier to review<br />A change should logically do one thing (not many)<br />No change shall break build or tests<br />Split big changes into series of digestible changes <br />(patch series)<br />- These changes depend on each other<br />- Last change should switch the new feature on<br />Commit message should explain Why<br />- The What should be obvious from the code change<br />Code Review | © 2010 by M. Sohn<br />
  94. 94. Conclusion<br />Code Review rocks !<br />Gerrit enables a nice code review workflow <br />DVCS like Git are powerful<br />Git supports convenient branching and merging <br />Gitis very fast and scales well<br />Code Review | © 2010 by M. Sohn<br />
  95. 95. Gerrit Code Review<br />Gerrit developed at http://code.google.com/p/gerrit<br />https://review.source.android.com/Gerrit for Android projects (also Gerrit)<br />Code Review | © 2010 by M. Sohn<br />
  96. 96. Git at Eclipse<br />EGit/JGit developed at http://egit.eclipse.org<br />http://git.eclipse.org/hosts live Eclipse Git repos<br />Virgo, Mylyn Review, ScalaModules, SWTBot …<br />http://dev.eclipse.org/git/index.html git mirrors for CVS<br />Read-only copies kept up-to-date<br />Can clone with git:// or http://<br />Code Review | © 2010 by M. Sohn<br />
  97. 97. git-add<br />git-format-patch<br />git-shortlog<br />git-relink<br />git-rev-parse<br />git-am<br />git-gc<br />git-show<br />git-remote<br />git-show-branch<br />git-archive<br />git-grep<br />git-stash<br />git-repack<br />git-verify-tag<br />git-bisect<br />git-init<br />git-status<br />git-replace<br />git-whatchanged<br />git-branch<br />git-log<br />git-submodule<br />git-annotate<br />git-bundle<br />git-merge<br />* git-tag<br />git-blame<br />git-checkout<br />git-mv<br />git-config<br />git-cherry<br />.gitignore<br />git-cherry-pick<br />git-notes<br />git-fast-export<br />git-count-objects<br />git daemon<br />git-clean<br />git-pull<br />git-fast-import<br />git-difftool<br />HTTP support<br />git-clone<br />git-push<br />git-filter-branch<br />git-fsck<br />Mylynintegration<br />git-commit<br />git-rebase<br />git-mergetool<br />git-get-tar-commit-id<br />Staging View<br />git-describe<br />git-reset<br />git-pack-refs<br />git-help<br />* Synchronize View<br />git-diff<br />git-revert<br />git-prune<br />git-merge-tree<br />History View<br />git-fetch<br />git-rm<br />git-reflog<br />git-rerere<br />Repositories View<br />Features EGit 1.0<br />* planned for next release, supported, partial, missing, irrelevant for EGit<br />
  98. 98. Git Resources<br />Ask questions on the EGit forum or egit-dev/jgit-dev lists<br />http://git-scm.com/documentation is your friend<br />If you want comedy, watch Linus' talk at Google<br />http://www.youtube.com/watch?v=4XpnKHJAok8<br />Read the Pro Git book - http://progit.org/book/<br />Code Review | © 2010 by M. Sohn<br />
  99. 99. Gerrit Code Review - Outlook<br />MylynGerrit Connector in incubation<br />Port from SQL DB to HBase<br />Git Store:<br />Store review comments as git notes for offline review<br />Support for change dependencies across repositories<br />…<br />Code Review | © 2010 by M. Sohn<br />
  100. 100. Gerrit – Rebase<br />Code Review | © 2010 by M. Sohn<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×