Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3
Note

This page provides notes on the DSpace SVN to GitHub Migration taking that took place in MarchApril/April 2012.May 2012.  It has now all been completed.  The final announcement of this migrate is at: http://www.mail-archive.com/dspace-general@lists.sourceforge.net/msg01268.html

GitHub Migration Steps

Table of Contents
minLevel2
outlinetrue
stylenone

Codebases to migrate to GitHub

...

Note
titleGitHub import hints

http://help.github.com/import-from-subversion/Image Removed

Main Codebase(s)

Main Codebases

  • (tick) Primary DSpace Codebase - The Offical DSpace/DSpaceGitHub repository is now active! All DSpace development is now occurring in GitHub instead of SVN.
    1. The "DSpace/DSpace" GitHub is a BRAND NEW copy of SVN, with SVN author mapping using the #Author File below.
    2. WARNING: The old, "unofficial" "DSpace/DSpace" GitHub repository was renamed to DSpace-SVN-Deprecated
      • Anyone who had forked the "unofficial" GitHub migrate as-soon as possible to the new GitHub repo, as the old one will not be maintained any further.
      • Once everyone has migrated (no more forks exist), we will delete the "DSpace/DSpace-SVN-Deprecated" repo.
  • (tick)  dspace-api-lang - migrated to GitHub:DSpace/dspace-api-lang 
  • Primary Codebase - Migrate (perform final sync) Main Trunk/Branches/Tags to https://github.com/DSpace/DSpace  (Make sure that sync include mapping to github authors (see below) where possible)
  • dspace-api-lang -
      • perhaps migrate to a single 'dspace-lang' GitHub project?  (Mark: I think move back into DSpace API and use minor releases to update languages.)
    • (tick)  dspace-xmlui-lang - migrated to GitHub:DSpace/dspace-xmlui-lang
      • perhaps migrate to a single 'dspace-lang' GitHub project? (Mark: I think move back into DSpace-xmlui and use minor releases to manage.)
    • (tick) dspace-services - migrate to ???

    Dependencies of Primary Codebase

    (question) QUESTION: The following codebases are also standalone. Do we want to keep them that way? Do they all merit their own repository in GitHub?

    Dependency Codebases

    The following codebases are strictly releases of DSpace dependencies. Some of these dependencies just needed to be pushed to Maven Central (i.e. we don't "own" any of the code – all we did was release it to Maven Central because we needed it available there). Others need minor tweaks for DSpace.

    The below dependencies may no longer be needed, as it seems like we have a valid way to replace them in the future.

    ...

    Additional Active DSpace projects

    Mark: separate repo because they have separate releases cycles, though it might be time to put rest into the main DSpace repo.

    Inactive projects (won't be moved to GitHub)

    Warning
    titleNo Inactive Projects will be migrated to GitHub at this time

    At this time, we do not plan to migrate any inactive projects to the central DSpace GitHub. Instead they will all be archived in a READ-ONLY SVN. They can always be migrated at a later time, as necessary.

    Individual developers/committers are welcome to move any of these projects into their own personal GitHub account. They just won't be moved into the central DSpace GitHub.

    Projects that seem to be "inactive" at this time include:

    Mark: Some of these can be considered for future, I want to take back those that I put considerable work into and will put these up in my repo or in our atmire repo. DSpace-imscp was an example of a crosswalk/packager addon, it could stand to be in the DSpace repo. Stats and discovery can remain behind.

    Archive old SVN (for posterity)

    • (tick) Make existing SVN READ-ONLY
    • (tick) Archive the existing SVN (scm.dspace.org hosted by OSUOSL) to http://svn.duraspace.org and make it for posterity.
    • (tick) Post a notice in the archived SVN (at svn.duraspace.org) that codebase is now at GitHub

    Additional Cleanup tasks

    • (tick)Turn off any syncing between SVN and GitHub
      • Notify the Committers before making this change!!
    • (tick)Ensure Maven 'License Header' check still works when running 'mvn install' (this is setup in 'dspace-pom')
      • Likely will need to move LICENSE_HEADER to GitHub, maybe into same project as 'dspace-pom'?
      • Also will likely require a new release of 'dspace-pom'
    • (tick)Ensure Maven Release Procedure still works - likely will require a POM update or two.

    Mark: I've run a few releases via sonatype and github, it might be good to run a test release or two just to verify.  We just need to update the source management section of the maven parent Pom. I have examplespf these settings in my repo.

    Final Steps

    • (tick) Notify community when development has moved completely to GitHub.
    • (tick)Redirect old SVN URLs:
      • (tick) Redirect scm.dspace.org to svn.duraspace.org (if possible, setup this redirect so that old URLs just go directly to that SVN archive)
    • (tick) Contact OSUOSL and let them know we no longer need to use the old SVN server.
    • (In process/ongoing) Build some "GitHub Best Practices" documentation : @ Development with Git

    ...

    Code Block
    svnuser = gituser_full_name <gituser_email>
    Code Block
    KevinVandeVelde = NAME <USER@DOMAIN> Kevin Van de Velde <kevin@mire.be>
    ScottPhillips = Scott NAMEPhillips <USER@DOMAIN><scott@scottphillips.com>
    StuartLewis = Stuart NAMELewis <USER@DOMAIN><stuart@stuartlewis.com>
    ahkim = NAME <USER@DOMAIN>
    aschweer = NAME <USER@DOMAIN>Austin Kim <ahkim@users.sourceforge.net>
    aschweer = Andrea Schweer <schweer@waikato.ac.nz>
    azeckoski = Aaron Zeckoski <azeckoski@gmail.com>
    benbosman = Ben NAMEBosman <USER@DOMAIN><ben@atmire.com>
    bollini = NAME <USER@DOMAIN>Andrea Bollini <bollini@cilea.it>
    bradmc = Brad NAMEMcLean <USER@DOMAIN><bmclean@duraspace.org>
    cjuergen = NAME <USER@DOMAIN>Claudia Juergen <claudia.juergen@tu-dortmund.de>
    dchud = NAME <USER@DOMAIN>Dan Chudnov <daniel.chudnov@gmail.com>
    dstuve = NAME <USER@DOMAIN>David Stuve <david.stuve@hp.com>
    gam = Greg NAME <USER@DOMAIN>McClellan? <gam@users.sourceforge.net>
    gam5 = Greg NAME <USER@DOMAIN>McClellan <gam5@users.sourceforge.net>
    gcarpent = Grace NAME <USER@DOMAIN>Carpenter <gcarpent@users.sourceforge.net>
    grahamtriggs = NAME <USER@DOMAIN>Graham Triggs <grahamtriggs@gmail.com>
    jimdowning = Jim NAME <USER@DOMAIN>Downing <jim.downing@gmail.com>
    jrutherford = James NAME <USER@DOMAIN>Rutherford <jrutherford@users.sourceforge.net>
    jtrimble = NAME <USER@DOMAIN>Jeffrey Trimble <jatrimble@ysu.edu>
    keithg = Keith NAME <USER@DOMAIN>Gilbertson <keith.gilbertson@library.gatech.edu>
    kshepherd = Kim NAME <USER@DOMAIN>Shepherd <kim.shepherd@gmail.com>
    lcs = Larry NAME <USER@DOMAIN>Stone <lcs@users.sourceforge.net>
    mdiggory = Mark mdiggoryDiggory <mdiggory@gmail<mdiggory@atmire.com>
    mirceag = Gabriela NAME <USER@DOMAIN>Mircea <gabriela.mircea@utoronto.ca>
    mwoodiupui = Mark mwoodiupuiWood <mwood@IUPUI.Edu>
    pbreton = Peter NAME <USER@DOMAIN>Breton <pbreton@users.sourceforge.net>
    peterdietz = NAME <USER@DOMAIN>Peter Dietz <dietz.72@osu.edu>
    pottingerhj = Hardy NAMEPottinger <USER@DOMAIN><pottingerhj@umsystem.edu>
    pvillega = NAME <USER@DOMAIN>Pere Villega <pere.villega@gmail.com>
    richard-jones = Richard NAMEJones <USER@DOMAIN><richard@cottagelabs.com>
    robintaylor = Robin NAME <USER@DOMAIN>Taylor <robin.taylor@ed.ac.uk>
    rrodgers = Richard NAMERodgers <USER@DOMAIN><rrodgers@mit.edu>
    rtansley = NAME <USER@DOMAIN>Robert Tansley <roberttansley@google.com>
    sands = Sands NAMEFish <USER@DOMAIN><sands@mit.edu>
    scottphillips = NAME <USER@DOMAIN>Scott Phillips <scott@scottphillips.com>
    stuartlewis = Stuart NAMELewis <USER@DOMAIN><stuart@stuartlewis.com>
    syeadon = Scott NAME <USER@DOMAIN>Yeadon <scott.yeadon@anu.edu.au>
    tdonohue = Tim tdonohueDonohue <tdonohue@duraspace.org>