Contribute to the DSpace Development Fund
The newly established DSpace Development Fund supports the development of new features prioritized by DSpace Governance. For a list of planned features see the fund wiki page.
This page provides notes on the DSpace SVN to GitHub Migration taking place in March/April 2012.
GitHub Migration Steps
Codebases to migrate to GitHub
At this time, we will only migrate codebases which are currently under active development (we can always move others later on, as we will keep an archive of SVN). If any are missing from the below list, feel free to add them.
GitHub import hints
Main Codebase(s)
- 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?
- dspace-xmlui-lang - perhaps migrate to a single 'dspace-lang' GitHub project?
- dspace-services - migrate to ???
Dependencies of Primary Codebase
- dspace-solr (dependency of 'modules/solr') - migrate to ???
- dspace-pom (parent POM of 'dspace-parent' & other DSpace maven projects) - migrate to a 'dspace-pom' GitHub project?
- dspace-assembly-plugin (used by 'dspace-parent' to assembly DSpace) - migrate to ???
- dspace-geoip (dependency of 'dspace-stats') - migrate to a general 'dspace-dependencies' GitHub project???
- dspace-tm-extractors (used by dspace-api to do text extraction of Word docs?) - Can we just replace this with POI (http://poi.apache.org/), which is used for PPT text extraction (but also looks to work for Word docs)?
- dspace-jmockit (dependency of dspace-parent) - migrate to a general 'dspace-dependencies' GitHub project???
- dspace-cocoon-servlet-service-impl (dependency of dspace-xmlui-wing) - migrate to a general 'dspace-dependencies' GitHub project???
Other Active Projects
- dspace-replicate - Already migrated to https://github.com/DSpace/dspace-replicate
- dspace-rest - Already migrated to https://github.com/DSpace/dspace-rest
Archive old SVN (for posterity)
- Archive the existing SVN (hosted by OSUOSL) to http://svn.duraspace.org and make it READ-ONLY.
- Post a notice in the archived SVN (at svn.duraspace.org) that codebase is now at GitHub
Additional Cleanup tasks
- Turn off any syncing between SVN and GitHub
- Notify the Committers before making this change!!
- 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'
- Ensure Maven Release Procedure still works - likely will require a POM update or two.
Final Steps
- Notify community when development has moved completely to GitHub.
- Redirect old SVN URLs:
- Redirect scm.dspace.org to svn.duraspace.org (if possible, setup this redirect so that old URLs just go directly to that SVN archive)
- Contact OSUOSL and let them know we no longer need to use the old SVN server.
- Build some "GitHub Best Practices" documentation:
- Need to also update Tracking your source code with Git
Author File
The Author File provides a mapping of SVN users to GitHub users.
Format:
svnuser = gituser_name <gituser_email>
KevinVandeVelde = NAME <USER@DOMAIN> ScottPhillips = NAME <USER@DOMAIN> StuartLewis = NAME <USER@DOMAIN> ahkim = NAME <USER@DOMAIN> aschweer = aschweer <schweer@waikato.ac.nz> benbosman = NAME <USER@DOMAIN> bollini = NAME <USER@DOMAIN> bradmc = NAME <USER@DOMAIN> cjuergen = NAME <USER@DOMAIN> dchud = NAME <USER@DOMAIN> dstuve = NAME <USER@DOMAIN> gam = NAME <USER@DOMAIN> gam5 = NAME <USER@DOMAIN> gcarpent = NAME <USER@DOMAIN> grahamtriggs = NAME <USER@DOMAIN> jimdowning = NAME <USER@DOMAIN> jrutherford = NAME <USER@DOMAIN> jtrimble = NAME <USER@DOMAIN> keithg = NAME <USER@DOMAIN> kshepherd = kshepherd <kim.shepherd@gmail.com> lcs = NAME <USER@DOMAIN> mdiggory = mdiggory <mdiggory@atmire.com> mirceag = NAME <USER@DOMAIN> mwoodiupui = mwoodiupui <mwood@IUPUI.Edu> pbreton = NAME <USER@DOMAIN> peterdietz = NAME <USER@DOMAIN> pottingerhj = hardyoyo <pottingerhj@umsystem.edu> pvillega = NAME <USER@DOMAIN> richard-jones = NAME <USER@DOMAIN> robintaylor = NAME <USER@DOMAIN> rrodgers = NAME <USER@DOMAIN> rtansley = NAME <USER@DOMAIN> sands = sandsfish <sands@mit.edu> scottphillips = scott-phillips <scott@scottphillips.com> stuartlewis = NAME <USER@DOMAIN> syeadon = NAME <USER@DOMAIN> tdonohue = tdonohue <tdonohue@duraspace.org>