CVS to SVN Migration

From BioPerl
Jump to: navigation, search

After extensive discussion on the bioperl-l mailing list, the BioPerl project will be switching version controls systems, migrating from CVS to Subversion. This is a tracking page to notify developers on migration progress; any necessary information here will likely be merged into the developer Subversion help page once migration is complete.

A big 'thanks' from the core devs to George Hartzell for setting up the test repository and 'getting the ball rolling!'

Contents

Migrations issues

Migration is complete with the exception of a few odds and ends. The current status is indicated in red.

  • Date - Dec. 19 is the scheduled CVS freeze.
    • Complete. The CVS repository on dev.open-bio.org is now read-only. The anon. CVS is currently maintained on code.open-bio.org, but it is possible the repositories may be removed in the future.
  • SVN Dev. access - Currently the decision is to stick with using ssh only (via svn+ssh).
    • Done. No other support is anticipated. We highly recommend using SSH key access.
  • Repository location - the current location of the cvs repository is on dev.open-bio.org in /home/repository/bioperl. We will need to set up a similar repository for svn, maintaining the CVS repo as read-only.
    • The main BioPerl Subversion repository is located in /home/svn-repositories/bioperl
  • CVS status - as noted above, we have decided to retain CVS but switch it over to a read-only repository
    • Done.
  • CVS syncing- we plan on having svn commits transferred (sync'ed) to cvs automagically. This is still on the to-do list. Add links to syncing tools?
    • Changed. Due to the problematic nature of syncing and maintaining SVN->CVS commits we are switching to anonymous SVN access.
  • bioperl-guts svn commit messages - George has tested this out already; we can tweak it as we go along if more/less verbose output is needed.
    • Done. The hook script has been added.
  • Documentation - the relevant documentation pages for CVS and Subversion need to be updated accordingly.
    • In progress.
  • Developer notification - How much lead time do we need to give devs before the switch?
    • The announcement for Subversion migration was made in early fall 2007, with the initial CVS freeze on Dec. 16 2007. The SVN repository was set up over the holiday break, with the final touches made in early January 2008.
  • Other OBF projects - the plan is to switch all other OBF projects over to SVN. BioJava is already under a CVS freeze; uncertain when the transfer is to occur.
    • Possibly. Currently, only BioPerl, BioJava, and BioSQL have switched. There has been interest in SVN from the BioPython camp...
  • Others? (add as needed)
    • RSS feeds are now working, though direct links do not work yet.

To Do

  • Downloadable tarballs of the SVN repos. This isn't currently available via SVN::Web.
    • These might be superceded by nightly builds.
  • Documentation cleanup. Details on how to set up a branch/tag, etc.
  • Implementation of a 'bioperl-all' like checkout and repo aliases
  • Ignored files:
Sendu Bala wrote:
> George Hartzell wrote:
>> There don't seem to be any .cvsignore files in the repository, or in
>> CVSROOT/cvsignore.
>>
>> Am I missing something, or don't we use them?
>
> It would be great to have the following files svn:ignored :
>
> In all package roots:
> ? Build
> ? MANIFEST
> ? MANIFEST.SKIP
> ? META.yml
> ? _build
> ? bioperl-*.tar.bz2
> ? bioperl-*.tar.gz
> ? bioperl-*.zip
> ? blib
> ? cover_db
>
> In any and all directories:
> ? .DS_Store
> ? .DAV
>
> In bioperl-live:
> ? t/BioDBSeqFeature.t
> ? t/BioDBSeqFeature_BDB.t
> ? t/BioDBSeqFeature_mysql.t
>
>
> Can't think of anything else right now  
  • Auto-props file
    • A demo one is found here

Migration FAQ

Why switch to using SVN?

The various pros and cons of using SVN were weighed during a lengthy online discussion on the BioPerl mail list in early 2007, with a large number of developers interested in switching to SVN.

Why only ssh access (AKA Why not http/https)?

Due to the technical nature of setting up and maintaining http/https access (not to mention the security implications) we only allow ssh at this time.

Personal tools
Namespaces
Variants
Actions
Main Links
documentation
community
development
Toolbox