Subversion
   GitHub
Java projects in DVCS wonderland




  Jean-Laurent de Morlhon - XKE July 2011
Subversion
   GitHub
Java projects in DVCS wonderland




  Jean-Laurent de Morlhon - XKE July 2011
2
Pourquoi Git ?
    en 2009
http://whygitisbetterthanx.com/
http://whygitisbetterthanx.com/
http://www.linuxjournal.com
http://github.com/plans
Qui utilise ?
Qui utilise ?
http://github.com/about
Stratégie Git ?
Distributed
 Version
  Control
  System
Principal / Lieutenant
Strategy
                                             Principal




                   Lieutenant
                                                                      Lieutenant




      Commiter X                Commiter X               Commiter X                Commiter X
YAGNI !
Centralized Strategy


                               Principal




     Commiter X   Commiter X               Commiter X   Commiter X
Migration
10 developeurs
   1dépôt svn
~7 projets maven
  30 modules
     maven
Dépendance binaire


                TeamCity




                              Nexus
     Dépôts


              Développement
1 dépôt SVN / 4
projets
Partial Checkout


 svn checkout http://serveur/
         depot/core

             vs
4 projets maven

 ~4 dépôts git
~4 dépôts git ?

       -Core
       -Swing
       -WebServices
       -WebApp
       -Pom Parent
       -Dépôt
Messages de commit
                                                       allinone.git
                               [RELEASE] Preparing ws release 1.3
                              [RELEASE] Preparing corerelease 1.7
                                      [WS-53] Fix bug on legacy ws
                                 Fix bug on startup time properties
                                [CORE-117] Added new interface..

core.git
[RELEASE] Preparing corerelease 1.7
Fix bug on startup time properties
[CORE-117] Added new interface..
                                                  webservices.git
                               [RELEASE] Preparing ws release 1.3
                                    [WS-53] Fix bug on legacy ws
Svn 2 Git


-Super lent ! (en heures)
-Standard layout marche
rarement
-Fichier de mapping user
svn/git
-Importer une branche après
while(!(suceed = try()));
Release Plugin !
git clone myproject



mvn release:prepare
           myproject-1.0




mvn release:perform
          myproject-1.0



git push && git push --tags   Nexus
Partial release

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-release-plugin</artifactId>
  <version>2.2</version>
  <configuration>
    <goals>deploy</goals>
    <localCheckout>true</localCheckout>
    <pushChanges>false</pushChanges>
    <scmCommentPrefix>[RELEASE]</scmCommentPrefix>
    <autoVersionSubmodules>true</autoVersionSubmodules>
  </configuration>
</plugin>
Backup



git clone --mirror
   http://github.com/myproject
git modules


   /          moduleA
   pom.xml
   /          moduleB
   moduleA
              moduleC
En bref...
Gestion des droits utilisateurs
Mise en place instantanée
                              Source hébergé aux USA
  Interface de GitHub
                               Plateforme pas toujours
Fonctionnalités de GitHub
                                      disponible
Très peu de maintenance
                                     Multi-dépôt
      Multi-dépôt
                                  Paiement par CB
       Client Mac
                             Migration depuis subversion
Alternatives
1 Gitosis
2 GitHub:Fi
http://fi.github.com/
http://fi.github.com/pricing.html
3 Gitorious
?

SVN to GitHUb

Notes de l'éditeur