SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
• (E)Git
                         • + Tycho
                         • + Gerrit
                         • + ______
                                Mylyn
                         • _
                       • =                 #WIN *                                                          • * mostly




Eclipse Day Toulouse    Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
What you will learn

   § A better way to go than good ol’ CVS/SVN +
      PDE Build
   § How Git can improve your development
      workflow
   § How continuous integration coupled with
      code review can save you time
   § Where to look for to get started




Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
… and what you will not!

   § How to actually setup Gerrit, Hudson
   § How to write better code J




Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
DVCSs in a nutshell

   § No central repository
   § Fast
   § Branching/Merging made easier
          §  easy to experiment new ideas
          §  easy to isolate features




Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
§ Created by Linus Torvalds in 2005
   § Need for a fast, distributed, corruption-proof
      SCM to manage the Linux kernel codebase




Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
Git cool features

   § Staging area
   § Hooks
          §  sending an e-mail
          §  rejecting a push if e.g. header files are missing
          §  smart management of binary files

   § Stashing, cherry-picking, bisecting, …
   § Advanced merge strategies
   § File renaming

   § GitHub! and also bitbucket, Gitorious, …

Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
Git workflow

   § Useful read:
      http://nvie.com/posts/a-successful-git-
      branching-model/




Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
Git tools

   § gitx
   § SourceTree ()
   § GitHub ()
   § TortoiseGit
   § EGit




Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
Git tools

   § gitx
   § SourceTree ()
   § GitHub ()
   § TortoiseGit
   § EGit




Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
Git tools – gitx




Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
Git tools

   § gitx
   § SourceTree ()
   § GitHub ()
   § TortoiseGit
   § EGit




Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
Git tools – SourceTree




Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
Git tools

   § gitx
   § SourceTree ()
   § GitHub ()
   § TortoiseGit
   § EGit




Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
Git tools – Github




Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
Git tools

   § gitx
   § SourceTree ()
   § GitHub ()
   § TortoiseGit
   § EGit




Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
Git tools – TortoiseGit




Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
Git tools

   § gitx
   § SourceTree ()
   § GitHub ()
   § TortoiseGit
   § EGit




Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
EGit

   § Team provider for Git
   § Git perspective
   § Integration with the Project Explorer
   § Synchronize
   § History

   § Integration with Mylyn




Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
DEMO!




                                                  • EGit



Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
Tycho

   § A way to build, test and release Eclipse/OSGi
      artifacts with Maven
   § Tycho feature list:
          §  Build OSGi bundles / Eclipse plugins
          §  Execute tests within the OSGi runtime
          §  Build Eclipse Features
          §  Build p2 repositories
          §  RCP applications a.k.a. Products
          §  …

   § Integrates with the rest of the Maven
      ecosystem
Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
Relationship with Maven

   § What is Maven? A build system!
   § Tycho is a set of Maven plugins
   § How is it different from other Maven plugins?
          §  It reuses the PDE metadata to configure the build
          §  It alters the standard Maven resolution logic to support
              OSGi dependencies (MANIFEST.MF, feature.xml, etc.)
          §  It adds to Maven the ability to read p2 repository




Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
Relationship with p2

   § What is p2? An OSGi-based provisioning
      system for OSGi!
   § Tycho reads and downloads dependencies
      from p2 repositories.
   § Tycho produces p2 repositories
   § Internally, tycho embeds parts of p2 in order
      to perform the dependency resolution
                  § Maven + p2 = Tycho! J



Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
DEMO!




                                            • Tycho



Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
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
   § Integral part of coding process
   § Otherwise this will happen:
          §  Debugging someone elses broken code
          §  Involuntary code review: Not so good; emotions may flare

                       http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdf

Eclipse Day Toulouse        Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
Gerrit

   § Developped by Google (for Android)
   § Based on Git

   § Web-based code review tool
        acting as a Git repository
        managing pending patches
        before they are merged
        into a blessed repository



Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
Interacting with a Git repository


            Working Tree                               fetch
                                                         pull

                       commit                                                                Remote
                                                                                            repository

                                                        push
         Local repository




Eclipse Day Toulouse    Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
Interacting with a Gerrit repository


                                                       fetch                                 Blessed
            Working Tree
                                                         pull                               repository

                       commit                                                                            sync


                                                        push
         Local repository                                                                        Gerrit
                                                   for review




Eclipse Day Toulouse    Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
Gerrit workflow




Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
DEMO!




                                             • Gerrit



Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
Mylyn

   § Mylyn is a task and application lifecycle
      management (ALM) framework
   § Task-focused interface à realign the IDE so
      as you only see relevant code/information
   § Huge ecosystem of plug-ins to integrate with
      ALM and collaboration tools




Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
Mylyn




Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
DEMO!




                                            • Mylyn



Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
Gerrit + Tycho + Jenkins/Hudson – DEMO!




Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
In a nutshell

   § Git can really help you
   § Tycho is stable*, powerful, and extensible
   § Mylyn rocks. Well integrated with JDT, CDT,
      EGit, Hudson/Jenkins, Gerrit…
   § Code review with Gerrit is the icing on the
      cake (if you have someone to help you set it
      up J)


                                                                          * http://wiki.eclipse.org/CBI

Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012
Questions? … Thank you! J




                                                         Benjamin Cabé

                                                              @kartben
                                                              http://blog.benjamin-cabe.com




Eclipse Day Toulouse   Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0.
May 24th,, 2012

Contenu connexe

Tendances

My EclipseCon 2014 keynote
My EclipseCon 2014 keynoteMy EclipseCon 2014 keynote
My EclipseCon 2014 keynoteMike Milinkovich
 
Docker 101: An Introduction
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An IntroductionPOSSCON
 
Grails 4: Upgrade your Game!
Grails 4: Upgrade your Game!Grails 4: Upgrade your Game!
Grails 4: Upgrade your Game!Zachary Klein
 
IoT development (APIcon 2014 presentation)
IoT development (APIcon 2014 presentation)IoT development (APIcon 2014 presentation)
IoT development (APIcon 2014 presentation)Mike Milinkovich
 
Usernetes: Kubernetes as a non-root user
Usernetes: Kubernetes as a non-root userUsernetes: Kubernetes as a non-root user
Usernetes: Kubernetes as a non-root userAkihiro Suda
 
Groovy for Java Devs
Groovy for Java DevsGroovy for Java Devs
Groovy for Java DevsZachary Klein
 
Why Open Source Will Drive IoT Innovation
Why Open Source Will Drive IoT InnovationWhy Open Source Will Drive IoT Innovation
Why Open Source Will Drive IoT InnovationMike Milinkovich
 
Introduction to github using Egit
Introduction to github using EgitIntroduction to github using Egit
Introduction to github using Egitmatz_twt
 
Container Migration Tool
Container Migration Tool Container Migration Tool
Container Migration Tool Docker, Inc.
 
Dockerizing your applications - Docker workshop @Twitter
Dockerizing your applications - Docker workshop @TwitterDockerizing your applications - Docker workshop @Twitter
Dockerizing your applications - Docker workshop @TwitterdotCloud
 
Common primitives in Docker environments
Common primitives in Docker environmentsCommon primitives in Docker environments
Common primitives in Docker environmentsalexandru giurgiu
 
Use the Source or Join the Dark Side: differences between Docker Community an...
Use the Source or Join the Dark Side: differences between Docker Community an...Use the Source or Join the Dark Side: differences between Docker Community an...
Use the Source or Join the Dark Side: differences between Docker Community an...Jérôme Petazzoni
 
Monktoberfest 2013: The Quick and the Dead
Monktoberfest 2013: The Quick and the DeadMonktoberfest 2013: The Quick and the Dead
Monktoberfest 2013: The Quick and the DeadMike Milinkovich
 
InteropNY/CloudConnect 2014 - Quick Crash Course in Open Source Cloud Computing
InteropNY/CloudConnect 2014 - Quick Crash Course in Open Source Cloud ComputingInteropNY/CloudConnect 2014 - Quick Crash Course in Open Source Cloud Computing
InteropNY/CloudConnect 2014 - Quick Crash Course in Open Source Cloud ComputingMark Hinkle
 
Open collaboration in the Moby Project
Open collaboration in the Moby ProjectOpen collaboration in the Moby Project
Open collaboration in the Moby ProjectAkihiro Suda
 
Using NuGet the way you should - TechDays NL 2014
Using NuGet the way you should - TechDays NL 2014Using NuGet the way you should - TechDays NL 2014
Using NuGet the way you should - TechDays NL 2014Maarten Balliauw
 
20111010 agile minds - organize your chickens - nuget for the enterprise
20111010 agile minds - organize your chickens - nuget for the enterprise20111010 agile minds - organize your chickens - nuget for the enterprise
20111010 agile minds - organize your chickens - nuget for the enterpriseXavier Decoster
 
LXC, Docker, and the future of software delivery | LinuxCon 2013
LXC, Docker, and the future of software delivery | LinuxCon 2013LXC, Docker, and the future of software delivery | LinuxCon 2013
LXC, Docker, and the future of software delivery | LinuxCon 2013dotCloud
 
Being a Moby maintainer
Being a Moby maintainerBeing a Moby maintainer
Being a Moby maintainerAkihiro Suda
 
Bay Area Open Source Meet-Up: Things I Learned about Open Source The Hard Way
Bay Area Open Source Meet-Up: Things I Learned about Open Source The Hard Way Bay Area Open Source Meet-Up: Things I Learned about Open Source The Hard Way
Bay Area Open Source Meet-Up: Things I Learned about Open Source The Hard Way Mark Hinkle
 

Tendances (20)

My EclipseCon 2014 keynote
My EclipseCon 2014 keynoteMy EclipseCon 2014 keynote
My EclipseCon 2014 keynote
 
Docker 101: An Introduction
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An Introduction
 
Grails 4: Upgrade your Game!
Grails 4: Upgrade your Game!Grails 4: Upgrade your Game!
Grails 4: Upgrade your Game!
 
IoT development (APIcon 2014 presentation)
IoT development (APIcon 2014 presentation)IoT development (APIcon 2014 presentation)
IoT development (APIcon 2014 presentation)
 
Usernetes: Kubernetes as a non-root user
Usernetes: Kubernetes as a non-root userUsernetes: Kubernetes as a non-root user
Usernetes: Kubernetes as a non-root user
 
Groovy for Java Devs
Groovy for Java DevsGroovy for Java Devs
Groovy for Java Devs
 
Why Open Source Will Drive IoT Innovation
Why Open Source Will Drive IoT InnovationWhy Open Source Will Drive IoT Innovation
Why Open Source Will Drive IoT Innovation
 
Introduction to github using Egit
Introduction to github using EgitIntroduction to github using Egit
Introduction to github using Egit
 
Container Migration Tool
Container Migration Tool Container Migration Tool
Container Migration Tool
 
Dockerizing your applications - Docker workshop @Twitter
Dockerizing your applications - Docker workshop @TwitterDockerizing your applications - Docker workshop @Twitter
Dockerizing your applications - Docker workshop @Twitter
 
Common primitives in Docker environments
Common primitives in Docker environmentsCommon primitives in Docker environments
Common primitives in Docker environments
 
Use the Source or Join the Dark Side: differences between Docker Community an...
Use the Source or Join the Dark Side: differences between Docker Community an...Use the Source or Join the Dark Side: differences between Docker Community an...
Use the Source or Join the Dark Side: differences between Docker Community an...
 
Monktoberfest 2013: The Quick and the Dead
Monktoberfest 2013: The Quick and the DeadMonktoberfest 2013: The Quick and the Dead
Monktoberfest 2013: The Quick and the Dead
 
InteropNY/CloudConnect 2014 - Quick Crash Course in Open Source Cloud Computing
InteropNY/CloudConnect 2014 - Quick Crash Course in Open Source Cloud ComputingInteropNY/CloudConnect 2014 - Quick Crash Course in Open Source Cloud Computing
InteropNY/CloudConnect 2014 - Quick Crash Course in Open Source Cloud Computing
 
Open collaboration in the Moby Project
Open collaboration in the Moby ProjectOpen collaboration in the Moby Project
Open collaboration in the Moby Project
 
Using NuGet the way you should - TechDays NL 2014
Using NuGet the way you should - TechDays NL 2014Using NuGet the way you should - TechDays NL 2014
Using NuGet the way you should - TechDays NL 2014
 
20111010 agile minds - organize your chickens - nuget for the enterprise
20111010 agile minds - organize your chickens - nuget for the enterprise20111010 agile minds - organize your chickens - nuget for the enterprise
20111010 agile minds - organize your chickens - nuget for the enterprise
 
LXC, Docker, and the future of software delivery | LinuxCon 2013
LXC, Docker, and the future of software delivery | LinuxCon 2013LXC, Docker, and the future of software delivery | LinuxCon 2013
LXC, Docker, and the future of software delivery | LinuxCon 2013
 
Being a Moby maintainer
Being a Moby maintainerBeing a Moby maintainer
Being a Moby maintainer
 
Bay Area Open Source Meet-Up: Things I Learned about Open Source The Hard Way
Bay Area Open Source Meet-Up: Things I Learned about Open Source The Hard Way Bay Area Open Source Meet-Up: Things I Learned about Open Source The Hard Way
Bay Area Open Source Meet-Up: Things I Learned about Open Source The Hard Way
 

En vedette

Scalable Semantic Version Control for Linked Data Management (presented at 2n...
Scalable Semantic Version Control for Linked Data Management (presented at 2n...Scalable Semantic Version Control for Linked Data Management (presented at 2n...
Scalable Semantic Version Control for Linked Data Management (presented at 2n...Claudius Hauptmann
 
OpenSocial gadgets at Eclipse
OpenSocial gadgets at EclipseOpenSocial gadgets at Eclipse
OpenSocial gadgets at EclipseBenjamin Cabé
 
Open World Forum 2012 - Introduction to the Eclipse M2M Industry Working Group
Open World Forum 2012 - Introduction to the Eclipse M2M Industry Working GroupOpen World Forum 2012 - Introduction to the Eclipse M2M Industry Working Group
Open World Forum 2012 - Introduction to the Eclipse M2M Industry Working GroupBenjamin Cabé
 
Use Eclipse technologies to build a modern embedded IDE
Use Eclipse technologies to build a modern embedded IDEUse Eclipse technologies to build a modern embedded IDE
Use Eclipse technologies to build a modern embedded IDEBenjamin Cabé
 

En vedette (6)

Model my PDE!
Model my PDE!Model my PDE!
Model my PDE!
 
Scalable Semantic Version Control for Linked Data Management (presented at 2n...
Scalable Semantic Version Control for Linked Data Management (presented at 2n...Scalable Semantic Version Control for Linked Data Management (presented at 2n...
Scalable Semantic Version Control for Linked Data Management (presented at 2n...
 
OpenSocial gadgets at Eclipse
OpenSocial gadgets at EclipseOpenSocial gadgets at Eclipse
OpenSocial gadgets at Eclipse
 
Open World Forum 2012 - Introduction to the Eclipse M2M Industry Working Group
Open World Forum 2012 - Introduction to the Eclipse M2M Industry Working GroupOpen World Forum 2012 - Introduction to the Eclipse M2M Industry Working Group
Open World Forum 2012 - Introduction to the Eclipse M2M Industry Working Group
 
Use Eclipse technologies to build a modern embedded IDE
Use Eclipse technologies to build a modern embedded IDEUse Eclipse technologies to build a modern embedded IDE
Use Eclipse technologies to build a modern embedded IDE
 
Semantic Versioning
Semantic VersioningSemantic Versioning
Semantic Versioning
 

Similaire à Git, Tycho and Code Review Workflow

Koneki @ Eclipse Day Toulouse 2012
Koneki @ Eclipse Day Toulouse 2012Koneki @ Eclipse Day Toulouse 2012
Koneki @ Eclipse Day Toulouse 2012Benjamin Cabé
 
Linked Open Data (LOD) Cloud & Ontology Life Cycles
Linked Open Data (LOD) Cloud & Ontology Life Cycles Linked Open Data (LOD) Cloud & Ontology Life Cycles
Linked Open Data (LOD) Cloud & Ontology Life Cycles Kingsley Uyi Idehen
 
EclipseCon 2010 talk: Towards contributors heaven
EclipseCon 2010 talk: Towards contributors heavenEclipseCon 2010 talk: Towards contributors heaven
EclipseCon 2010 talk: Towards contributors heavenmsohn
 
Of metacello, git, scripting and things
Of metacello, git, scripting and thingsOf metacello, git, scripting and things
Of metacello, git, scripting and thingsESUG
 
Using Git in Eclipse - Eclipse Summit Europe 2010-11-03
Using Git in Eclipse - Eclipse Summit Europe 2010-11-03Using Git in Eclipse - Eclipse Summit Europe 2010-11-03
Using Git in Eclipse - Eclipse Summit Europe 2010-11-03msohn
 
Can Kubernetes Keep a Secret?
Can Kubernetes Keep a Secret?Can Kubernetes Keep a Secret?
Can Kubernetes Keep a Secret?Soluto
 
Eclipse Hackers Guide to the Git Universe - Eclipse democamp Vienna 2011-12-02
Eclipse Hackers Guide to the Git Universe - Eclipse democamp Vienna 2011-12-02Eclipse Hackers Guide to the Git Universe - Eclipse democamp Vienna 2011-12-02
Eclipse Hackers Guide to the Git Universe - Eclipse democamp Vienna 2011-12-02msohn
 
Building Eclipse Plugins with Tycho
Building Eclipse Plugins with TychoBuilding Eclipse Plugins with Tycho
Building Eclipse Plugins with Tychojsievers
 
How to create a local Android open source project mirror in 6 easy steps
How to create a local Android open source project mirror in 6 easy stepsHow to create a local Android open source project mirror in 6 easy steps
How to create a local Android open source project mirror in 6 easy stepsDeveo
 
Open up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHubOpen up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHubScott Graham
 
Docker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDocker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDr Ganesh Iyer
 
Opening opensource : The Jenkins Way
Opening opensource : The Jenkins WayOpening opensource : The Jenkins Way
Opening opensource : The Jenkins WayNicolas De Loof
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to KubernetesSamuel Dratwa
 
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014msohn
 
Galera on kubernetes_no_video
Galera on kubernetes_no_videoGalera on kubernetes_no_video
Galera on kubernetes_no_videoPatrick Galbraith
 
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allEclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allMarc Dutoo
 
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware
 

Similaire à Git, Tycho and Code Review Workflow (20)

Koneki @ Eclipse Day Toulouse 2012
Koneki @ Eclipse Day Toulouse 2012Koneki @ Eclipse Day Toulouse 2012
Koneki @ Eclipse Day Toulouse 2012
 
Linked Open Data (LOD) Cloud & Ontology Life Cycles
Linked Open Data (LOD) Cloud & Ontology Life Cycles Linked Open Data (LOD) Cloud & Ontology Life Cycles
Linked Open Data (LOD) Cloud & Ontology Life Cycles
 
EclipseCon 2010 talk: Towards contributors heaven
EclipseCon 2010 talk: Towards contributors heavenEclipseCon 2010 talk: Towards contributors heaven
EclipseCon 2010 talk: Towards contributors heaven
 
Of metacello, git, scripting and things
Of metacello, git, scripting and thingsOf metacello, git, scripting and things
Of metacello, git, scripting and things
 
Using Git in Eclipse - Eclipse Summit Europe 2010-11-03
Using Git in Eclipse - Eclipse Summit Europe 2010-11-03Using Git in Eclipse - Eclipse Summit Europe 2010-11-03
Using Git in Eclipse - Eclipse Summit Europe 2010-11-03
 
Can Kubernetes Keep a Secret?
Can Kubernetes Keep a Secret?Can Kubernetes Keep a Secret?
Can Kubernetes Keep a Secret?
 
Eclipse Hackers Guide to the Git Universe - Eclipse democamp Vienna 2011-12-02
Eclipse Hackers Guide to the Git Universe - Eclipse democamp Vienna 2011-12-02Eclipse Hackers Guide to the Git Universe - Eclipse democamp Vienna 2011-12-02
Eclipse Hackers Guide to the Git Universe - Eclipse democamp Vienna 2011-12-02
 
Building Eclipse Plugins with Tycho
Building Eclipse Plugins with TychoBuilding Eclipse Plugins with Tycho
Building Eclipse Plugins with Tycho
 
How to create a local Android open source project mirror in 6 easy steps
How to create a local Android open source project mirror in 6 easy stepsHow to create a local Android open source project mirror in 6 easy steps
How to create a local Android open source project mirror in 6 easy steps
 
Open up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHubOpen up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHub
 
Elastic build environment
Elastic build environmentElastic build environment
Elastic build environment
 
Cicd.pdf
Cicd.pdfCicd.pdf
Cicd.pdf
 
Docker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDocker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containers
 
Opening opensource : The Jenkins Way
Opening opensource : The Jenkins WayOpening opensource : The Jenkins Way
Opening opensource : The Jenkins Way
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014
Code Matters - Eclipse Hackers Git Guide - EclipseCon France 2014
 
CICD_1670665418.pdf
CICD_1670665418.pdfCICD_1670665418.pdf
CICD_1670665418.pdf
 
Galera on kubernetes_no_video
Galera on kubernetes_no_videoGalera on kubernetes_no_video
Galera on kubernetes_no_video
 
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allEclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
 
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
 

Plus de Benjamin Cabé

IoT Developer Survey 2018
IoT Developer Survey 2018IoT Developer Survey 2018
IoT Developer Survey 2018Benjamin Cabé
 
Open Source for Industry 4.0 – Open IoT Summit NA 2018
Open Source for Industry 4.0 – Open IoT Summit NA 2018Open Source for Industry 4.0 – Open IoT Summit NA 2018
Open Source for Industry 4.0 – Open IoT Summit NA 2018Benjamin Cabé
 
JVM-Con 2017 – Java and IoT, will it blend?
JVM-Con 2017 – Java and IoT, will it blend?JVM-Con 2017 – Java and IoT, will it blend?
JVM-Con 2017 – Java and IoT, will it blend?Benjamin Cabé
 
Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Examining the emergent open source IoT ecosystem - IoT World Europe 2016Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Examining the emergent open source IoT ecosystem - IoT World Europe 2016Benjamin Cabé
 
Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...
Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...
Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...Benjamin Cabé
 
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016Benjamin Cabé
 
On making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in handOn making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in handBenjamin Cabé
 
Open Source Internet of Things 101 – EclipseCon 2016
Open Source Internet of Things 101 – EclipseCon 2016Open Source Internet of Things 101 – EclipseCon 2016
Open Source Internet of Things 101 – EclipseCon 2016Benjamin Cabé
 
Building the IoT - Coding Serbia 2015
Building the IoT - Coding Serbia 2015Building the IoT - Coding Serbia 2015
Building the IoT - Coding Serbia 2015Benjamin Cabé
 
Devoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoTDevoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoTBenjamin Cabé
 
Manage all the things, small and big, with open source LwM2M implementations ...
Manage all the things, small and big, with open source LwM2M implementations ...Manage all the things, small and big, with open source LwM2M implementations ...
Manage all the things, small and big, with open source LwM2M implementations ...Benjamin Cabé
 
End-to-end IoT solutions with Java and the Eclipse IoT stack
End-to-end IoT solutions with Java and the Eclipse IoT stackEnd-to-end IoT solutions with Java and the Eclipse IoT stack
End-to-end IoT solutions with Java and the Eclipse IoT stackBenjamin Cabé
 
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorialPowering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorialBenjamin Cabé
 
End-to-end IoT solutions with Java and Eclipse IoT
End-to-end IoT solutions with Java and Eclipse IoTEnd-to-end IoT solutions with Java and Eclipse IoT
End-to-end IoT solutions with Java and Eclipse IoTBenjamin Cabé
 
Open-source IoT cookbook
Open-source IoT cookbookOpen-source IoT cookbook
Open-source IoT cookbookBenjamin Cabé
 
Building the Internet of Things with Eclipse IoT - IoTBE meetup
Building the Internet of Things with Eclipse IoT - IoTBE meetupBuilding the Internet of Things with Eclipse IoT - IoTBE meetup
Building the Internet of Things with Eclipse IoT - IoTBE meetupBenjamin Cabé
 
Building the Internet of Things with Eclipse IoT - JavaLand 2014
Building the Internet of Things with Eclipse IoT - JavaLand 2014Building the Internet of Things with Eclipse IoT - JavaLand 2014
Building the Internet of Things with Eclipse IoT - JavaLand 2014Benjamin Cabé
 
What's new at Eclipse IoT - EclipseCon 2014
What's new at Eclipse IoT - EclipseCon 2014What's new at Eclipse IoT - EclipseCon 2014
What's new at Eclipse IoT - EclipseCon 2014Benjamin Cabé
 
Overview of Eclipse IoT projects - IoT Day Grenoble
Overview of Eclipse IoT projects - IoT Day GrenobleOverview of Eclipse IoT projects - IoT Day Grenoble
Overview of Eclipse IoT projects - IoT Day GrenobleBenjamin Cabé
 
Open (source) API for the Internet of Things - APIdays 2013
Open (source) API for the Internet of Things - APIdays 2013Open (source) API for the Internet of Things - APIdays 2013
Open (source) API for the Internet of Things - APIdays 2013Benjamin Cabé
 

Plus de Benjamin Cabé (20)

IoT Developer Survey 2018
IoT Developer Survey 2018IoT Developer Survey 2018
IoT Developer Survey 2018
 
Open Source for Industry 4.0 – Open IoT Summit NA 2018
Open Source for Industry 4.0 – Open IoT Summit NA 2018Open Source for Industry 4.0 – Open IoT Summit NA 2018
Open Source for Industry 4.0 – Open IoT Summit NA 2018
 
JVM-Con 2017 – Java and IoT, will it blend?
JVM-Con 2017 – Java and IoT, will it blend?JVM-Con 2017 – Java and IoT, will it blend?
JVM-Con 2017 – Java and IoT, will it blend?
 
Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Examining the emergent open source IoT ecosystem - IoT World Europe 2016Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Examining the emergent open source IoT ecosystem - IoT World Europe 2016
 
Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...
Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...
Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ...
 
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
The Right Tools for IoT Developers – Dan Gross @ Eclipse IoT Day ThingMonk 2016
 
On making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in handOn making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in hand
 
Open Source Internet of Things 101 – EclipseCon 2016
Open Source Internet of Things 101 – EclipseCon 2016Open Source Internet of Things 101 – EclipseCon 2016
Open Source Internet of Things 101 – EclipseCon 2016
 
Building the IoT - Coding Serbia 2015
Building the IoT - Coding Serbia 2015Building the IoT - Coding Serbia 2015
Building the IoT - Coding Serbia 2015
 
Devoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoTDevoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoT
 
Manage all the things, small and big, with open source LwM2M implementations ...
Manage all the things, small and big, with open source LwM2M implementations ...Manage all the things, small and big, with open source LwM2M implementations ...
Manage all the things, small and big, with open source LwM2M implementations ...
 
End-to-end IoT solutions with Java and the Eclipse IoT stack
End-to-end IoT solutions with Java and the Eclipse IoT stackEnd-to-end IoT solutions with Java and the Eclipse IoT stack
End-to-end IoT solutions with Java and the Eclipse IoT stack
 
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorialPowering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
 
End-to-end IoT solutions with Java and Eclipse IoT
End-to-end IoT solutions with Java and Eclipse IoTEnd-to-end IoT solutions with Java and Eclipse IoT
End-to-end IoT solutions with Java and Eclipse IoT
 
Open-source IoT cookbook
Open-source IoT cookbookOpen-source IoT cookbook
Open-source IoT cookbook
 
Building the Internet of Things with Eclipse IoT - IoTBE meetup
Building the Internet of Things with Eclipse IoT - IoTBE meetupBuilding the Internet of Things with Eclipse IoT - IoTBE meetup
Building the Internet of Things with Eclipse IoT - IoTBE meetup
 
Building the Internet of Things with Eclipse IoT - JavaLand 2014
Building the Internet of Things with Eclipse IoT - JavaLand 2014Building the Internet of Things with Eclipse IoT - JavaLand 2014
Building the Internet of Things with Eclipse IoT - JavaLand 2014
 
What's new at Eclipse IoT - EclipseCon 2014
What's new at Eclipse IoT - EclipseCon 2014What's new at Eclipse IoT - EclipseCon 2014
What's new at Eclipse IoT - EclipseCon 2014
 
Overview of Eclipse IoT projects - IoT Day Grenoble
Overview of Eclipse IoT projects - IoT Day GrenobleOverview of Eclipse IoT projects - IoT Day Grenoble
Overview of Eclipse IoT projects - IoT Day Grenoble
 
Open (source) API for the Internet of Things - APIdays 2013
Open (source) API for the Internet of Things - APIdays 2013Open (source) API for the Internet of Things - APIdays 2013
Open (source) API for the Internet of Things - APIdays 2013
 

Dernier

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 

Dernier (20)

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 

Git, Tycho and Code Review Workflow

  • 1. • (E)Git • + Tycho • + Gerrit • + ______ Mylyn • _ • = #WIN * • * mostly Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 2. What you will learn § A better way to go than good ol’ CVS/SVN + PDE Build § How Git can improve your development workflow § How continuous integration coupled with code review can save you time § Where to look for to get started Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 3. … and what you will not! § How to actually setup Gerrit, Hudson § How to write better code J Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 4. DVCSs in a nutshell § No central repository § Fast § Branching/Merging made easier §  easy to experiment new ideas §  easy to isolate features Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 5. § Created by Linus Torvalds in 2005 § Need for a fast, distributed, corruption-proof SCM to manage the Linux kernel codebase Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 6. Git cool features § Staging area § Hooks §  sending an e-mail §  rejecting a push if e.g. header files are missing §  smart management of binary files § Stashing, cherry-picking, bisecting, … § Advanced merge strategies § File renaming § GitHub! and also bitbucket, Gitorious, … Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 7. Git workflow § Useful read: http://nvie.com/posts/a-successful-git- branching-model/ Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 8. Git tools § gitx § SourceTree () § GitHub () § TortoiseGit § EGit Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 9. Git tools § gitx § SourceTree () § GitHub () § TortoiseGit § EGit Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 10. Git tools – gitx Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 11. Git tools § gitx § SourceTree () § GitHub () § TortoiseGit § EGit Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 12. Git tools – SourceTree Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 13. Git tools § gitx § SourceTree () § GitHub () § TortoiseGit § EGit Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 14. Git tools – Github Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 15. Git tools § gitx § SourceTree () § GitHub () § TortoiseGit § EGit Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 16. Git tools – TortoiseGit Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 17. Git tools § gitx § SourceTree () § GitHub () § TortoiseGit § EGit Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 18. EGit § Team provider for Git § Git perspective § Integration with the Project Explorer § Synchronize § History § Integration with Mylyn Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 19. DEMO! • EGit Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 20. Tycho § A way to build, test and release Eclipse/OSGi artifacts with Maven § Tycho feature list: §  Build OSGi bundles / Eclipse plugins §  Execute tests within the OSGi runtime §  Build Eclipse Features §  Build p2 repositories §  RCP applications a.k.a. Products §  … § Integrates with the rest of the Maven ecosystem Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 21. Relationship with Maven § What is Maven? A build system! § Tycho is a set of Maven plugins § How is it different from other Maven plugins? §  It reuses the PDE metadata to configure the build §  It alters the standard Maven resolution logic to support OSGi dependencies (MANIFEST.MF, feature.xml, etc.) §  It adds to Maven the ability to read p2 repository Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 22. Relationship with p2 § What is p2? An OSGi-based provisioning system for OSGi! § Tycho reads and downloads dependencies from p2 repositories. § Tycho produces p2 repositories § Internally, tycho embeds parts of p2 in order to perform the dependency resolution § Maven + p2 = Tycho! J Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 23. DEMO! • Tycho Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 24. 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 § Integral part of coding process § Otherwise this will happen: §  Debugging someone elses broken code §  Involuntary code review: Not so good; emotions may flare http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdf Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 25. Gerrit § Developped by Google (for Android) § Based on Git § Web-based code review tool acting as a Git repository managing pending patches before they are merged into a blessed repository Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 26. Interacting with a Git repository Working Tree fetch pull commit Remote repository push Local repository Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 27. Interacting with a Gerrit repository fetch Blessed Working Tree pull repository commit sync push Local repository Gerrit for review Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 28. Gerrit workflow Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 29. DEMO! • Gerrit Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 30. Mylyn § Mylyn is a task and application lifecycle management (ALM) framework § Task-focused interface à realign the IDE so as you only see relevant code/information § Huge ecosystem of plug-ins to integrate with ALM and collaboration tools Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 31. Mylyn Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 32. DEMO! • Mylyn Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 33. Gerrit + Tycho + Jenkins/Hudson – DEMO! Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 34. In a nutshell § Git can really help you § Tycho is stable*, powerful, and extensible § Mylyn rocks. Well integrated with JDT, CDT, EGit, Hudson/Jenkins, Gerrit… § Code review with Gerrit is the icing on the cake (if you have someone to help you set it up J) * http://wiki.eclipse.org/CBI Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012
  • 35. Questions? … Thank you! J Benjamin Cabé @kartben http://blog.benjamin-cabe.com Eclipse Day Toulouse Copyright © 2012 Sierra Wireless. All Right reserved. Made available under the Eclipse Public License v1.0. May 24th,, 2012