CVS to Git Migration

From genomewiki
Jump to: navigation, search

The Genome Browser source code control system was changed from CVS to Git on June 12, 2010. This page is intended to help mirror sites using CVS transition to Git.

Basic steps

Move your existing kent directory out of the way:

   mv kent kent.cvs

Clone the public git server

   git clone  git://genome-source.soe.ucsc.edu/kent.git

or, if a firewall is in the way:

   git clone http://genome-source.soe.ucsc.edu/kent.git

Track beta releases:

   cd kent
   git checkout -t -b beta origin/beta

Every two weeks run:

   git pull 

There are a couple of options for mirror sites that are not quite ready to move to Git. The first is to continue using the v233 source from the old CVS server. The second is to get current source from the CVS emulator.

Old CVS server (stuck on v233)

Mirror users can still get the complete v233 source from the old CVS server by setting:

 CVSROOT=:pserver:anonymous@genome-test.gi.ucsc.edu:/cbse

and doing a cvs checkout. All CVS commands will works as before, but source code available here will not be updated.

CVS emulator

Mirror users can use the CVS emulator to get complete source tree by first moving the old source tree out of the way, and then checking out a new tree:

 cvs -d :pserver:anonymous@genome-source.soe.ucsc.edu:22401/data/git/public/kent.git co master

Note that an old CVS sandbox cannot simply be updated using the CVS emulator. This is because the emulator is reading a Git repository which does not use "CVS version numbers" and has no access to the original CVS versions. The emulation invents new CVS version numbers for everything, but they do not match the old ones.

Migrating local changes

(is there a better title for this part?) To be determined: users may be able to use cvs patch on their old cvs sandbox to patch their new git directory with git apply.