CVS kent source tree control: Difference between revisions

From genomewiki
Jump to navigationJump to search
No edit summary
 
No edit summary
Line 5: Line 5:
backed up.  It will be your master copy of your source tree.
backed up.  It will be your master copy of your source tree.


CVSROOT=/scratch/cvsroot
$ CVSROOT=/scratch/cvsroot
export CVSROOT
$ export CVSROOT
cvs -d $CVSROOT init
$ cvs -d $CVSROOT init


If you want to modify any characteristics of your cvs system,
If you want to modify any characteristics of your cvs system,
Line 34: Line 34:
Back to your local CVSROOT
Back to your local CVSROOT


CVSROOT=/scratch/cvsroot
$ CVSROOT=/scratch/cvsroot
export CVSROOT
$ export CVSROOT
#  go the the above checked out source tree in the directory ./kent/
#  go the the above checked out source tree in the directory ./kent/
$ cd /scratch/kent
$ cd /scratch/kent
Line 75: Line 75:
Back to the local CVSROOT
Back to the local CVSROOT


CVSROOT=/scratch/cvsroot
$ CVSROOT=/scratch/cvsroot
export CVSROOT
$ export CVSROOT
$ cd /scratch/kent
$ cd /scratch/kent
#  check what version we are importing
#  check what version we are importing

Revision as of 19:21, 17 August 2006


Starting an initial CVS local repository.  The location /scratch/cvsroot/
is merely an example here.  You will want this in some location that is
backed up.  It will be your master copy of your source tree.

$ CVSROOT=/scratch/cvsroot
$ export CVSROOT
$ cvs -d $CVSROOT init

If you want to modify any characteristics of your cvs system,
do a checkout of CVSROOT project and edit the configuration
files.  Check them in.  In particular, see the file: config

... somewhere else, for example /scratch ...
$ cd /scratch
$ cvs co CVSROOT
#   Creates the directory hierarchy /scratch/CVSROOT/
# edit any files here, check them in to change your local CVS behavior
# Usually no changes are required

Importing the kent source tree:

Fetch the kent source tree without expanding the ID keywords, note the -kk argument

$ CVSROOT=:pserver:anonymous@genome-test.cse.ucsc.edu:/cbse
$ export CVSROOT
$ cvs login
password: genome
$ cd /scratch
$ cvs co -kk -rbeta kent
#  creates the directory hierarchy /scratch/kent/

Back to your local CVSROOT

$ CVSROOT=/scratch/cvsroot
$ export CVSROOT
#  go the the above checked out source tree in the directory ./kent/
$ cd /scratch/kent
#   check what version we are importing
$ cat src/hg/inc/versionInfo.h
#   using that version number, import this release
#   calling the project jksrc
#   labeling it with the vendor tag JKSRC_DIST and release tag JKSRC_140
#   These tags are important.  The vendor tag will be used next time you
#   import the source tree again.
$ cvs import -m "Import of jksrc v140" jksrc JKSRC_DIST JKSRC_140
#   No longer need the /scratch/kent/ hierarchy
$ rm -fr /scratch/kent

Now you can check out a local copy of the jksrc tree

... somewhere else, for example /scratch ...
$ cd /scratch
$ cvs co jksrc
#  creates the directory hierarchy /scratch/jksrc/

This source tree is your local copy.  Edit as you desire.  Check in your
own changes.  Build your sources here.

The next time you want a kent source update, do the same procedure as
above for the import, using the same vendor tag but with a new release tag.

Fetch the kent source tree without expanding the ID keywords:

$ CVSROOT=:pserver:anonymous@genome-test.cse.ucsc.edu:/cbse
$ export CVSROOT

$ cvs login
password: genome
$ cd /scratch
$ cvs co -kk -rbeta kent
#  creates the directory hierarchy /scratch/kent/

Back to the local CVSROOT

$ CVSROOT=/scratch/cvsroot
$ export CVSROOT
$ cd /scratch/kent
#   check what version we are importing
$ cat src/hg/inc/versionInfo.h
#   using that version number
#   same project name jksrc
#   same vendor tag JKSRC_DIST and new release tag JKSRC_141
$ cvs import -m "Import of jksrc v141" jksrc JKSRC_DIST JKSRC_141
#   No longer need the /scratch/kent/ hierarchy
$ rm -fr /scratch/kent

#       update your existing source tree ! AND HANDLE CONFLICTS as usual !
... in your local working copy of the source tree
$ cd /scratch/jksrc
$ cvs -q up > cvsupdate.stdout 2> cvsupdate.stderr
#   examine the two outputs for conflict messages.  Resolve the conflicts
#   and check those files in.