GateIn Portal - Git Migration and Usage

Version 9

    Status

    Initial planning. Scheduling migration plan and defining usage in the project


     

    Owner

    Boleslaw Dawidowicz and Julien Viet


     

    Introduction

    Git has a few strenghts over SVN.

    • Fast
    • Distributed/offline
    • Stashes
    • Real branches and tags (not just lame copies!)
    • Fast, reliable, effective merging

     

     

    In case of GateIn portal project two reasons are currently major ones:

    • Speed. SVN becomes very slow with growing size of the whole repository which affects overall work efficiency
    • Distributed working environment and branches. Currently more and more work in the project happens in separate branches. When this work is around bigger features it leads to big bloated commits as with SVN it is not possible to preserve commit history in such scenarios.

     

     

    Additionally it will also help for different kind of scenarios where:

    • productization of GateIn is easier to do
    • customer patch can be kept in privacy
    • other teams (UI, test) can contribute without requiring a dedicated access

     

    Solution

     

    GateIn Portal project will be migrated to github. Migration of each project component will be scheduled and the way team cooperates around the source code will be adapted to reuse concepts from git flow.

     


    Specification

    There are two parts of this specification

    1. Migration - with concrete schedule, split of responsibility and specific requirements
    2. Git usage - which will lead to creation of separate document specifying usage of git in the project.

     

     

    Migration

     

    There won’t be any one time migration effort. GateIn Portal project will first start using git repository for any new component that we introduce. Main requirement for migrating any GateIn code that currently lives in SVN is to preserve commit history. For specific components it may be decided to not migrate all tags and branches fully and rely on read only access to the history in svn.

     

    Server

     

    GateIn Portal will leverage GitHub infrastructure. Organization URL: github.com/gatein

     

    Schedule

     

     

     

    ComponentDateSVN URLGitHub URLPerson in chargeComments/Status
    GateIn trunk15-16 March 2012http://anonsvn.jboss.org/repos/gatein/portal/trunk

    http://github.com/gatein/gatein-portal

    Julien VietDONE
    DepApril 2012http://anonsvn.jboss.org/repos/gatein/maven/dep/

    http://github.com/gatein/gatein-dep

    Julien VietDONE
    Doc ParentApril 2012http://anonsvn.jboss.org/repos/gatein/maven/doc-parent--------------NONENOT MIGRATING
    Doc StyleApril 2012http://anonsvn.jboss.org/repos/gatein/maven/doc-style--------------NONENOT MIGRATING
    PackagerApril 2012http://anonsvn.jboss.org/repos/gatein/maven/packager--------------NONENOT MIGRATING
    ParentApril 2012http://anonsvn.jboss.org/repos/gatein/maven/parenthttp://github.com/gatein/gatein-parentJulien VietDONE
    CommonApril 2012http://anonsvn.jboss.org/repos/gatein/components/commonhttp://github.com/gatein/gatein-commonBolesław DawidowiczDONE
    MOPApril 2012http://anonsvn.jboss.org/repos/gatein/components/mophttp://github.com/gatein/gatein-mopBolesław DawidowiczDONE
    PCMarch 2012http://anonsvn.jboss.org/repos/gatein/components/pchttp://github.com/gatein/gatein-pcJulien VietDONE
    ShindigApril 2012http://anonsvn.jboss.org/repos/gatein/components/shindighttp://github.com/gatein/gatein-shindigBolesław DawidowiczDONE
    SimplecaptchaApril 2012http://anonsvn.jboss.org/repos/gatein/components/simplecaptchahttp://github.com/gatein/gatein-simplecaptchaBolesław DawidowiczDONE
    SSOApril 2012http://anonsvn.jboss.org/repos/gatein/components/ssohttp://github.com/gatein/gatein-ssoBolesław DawidowiczDONE
    WCIApril 2012http://anonsvn.jboss.org/repos/gatein/components/wcihttp://github.com/gatein/gatein-wciBolesław DawidowiczDONE
    WSRPApril 2012http://anonsvn.jboss.org/repos/gatein/components/wsrphttp://github.com/gatein/gatein-wsrpBolesław DawidowiczDONE
    PicketLink IDMApril 2012http://anonsvn.jboss.org/repos/picketlink/idmhttp://github.com/picketlink/picketlink-idmBolesław DawidowiczDONE

     

     

     

     

    Git Usage

     

    Defined in a separate document: GateIn Portal Git Contribution Guide