[Bioperl-l] # $id, copyright, and basic cvs questions

Jason Stajich jason@chg.mc.duke.edu
Wed, 8 Aug 2001 19:56:55 -0400

----- Original Message -----
From: "Chad Matsalla" <chad@sausage.usask.ca>
To: <bioperl-l@bioperl.org>
Sent: Wednesday, August 08, 2001 6:11 PM
Subject: [Bioperl-l] # $id, copyright, and basic cvs questions

> Hi,
> I am busily working on the list that I posted the other day. So far
> Bio::Seq::QualI is complete and Bio::Seq::PrimaryQual works the way I am
> expecting. I have quite a few procedures in a file called t/01test_qual.t
> ; I will break them up a bit into separate files to make things easier.
> For now, things are behaving as expected.
> Naturally I either cut-and-pasted or heavily modeled a lot of stuff from
> both PrimarySeq, PrimarySeqI, and SeqIO::fasta. Do I list myself as the
> Author(tm)? How does one give credit for stuff like this?
> Are these modules copyright Chad Matsalla?
They are, you can copy lines from any of the bioperl modules or use the
emacs.lisp and load it in your .emacs and use the template it provides

> How do I form this line?
> # $Id: BioperlProgrammingConventions.txt,v 1.24 2001/03/26 06:06:29 nobody
> Exp $
> for example, here is this module Bio::SeqIO::qual and the header looks
> like:
> # $Id: Qual.pm,v 1.2 2000/08/02 08:21:40 chad Exp $
> What should my version be? Is this set by CVS or can I arbitratily assign
> it?
Just do
# $Id$
and CVS will do the rest, if you already have data in # $Id yadda yadda $
CVS will overwrite it
I particularly like this so I can do
% perldoc -m Bio::Tools::BPlite | grep Id
and see which revision of a module is installed
> Some questions on CVS:
> I have not modified any existing bioperl modules other then copying and
> mangling the copies, so...
> Is this the correct procedure to add them to the repository?
> 1. cvs checkout bioperl
> 2. place my modules in the appropriate locations
> 3. place my tests in t/ (What should I name my tests? Any guidelines?)
run your tests before committing.
place any data files associated with the tests in t/data
usually if you are testing one module t/Phrap.t is appropriate - NEED to end
in .t
if you want to aggregate all the assembly tests
t/Assembly.t or t/assembly.t will do fine.

> 4. cvs add each file (do this manually, file by file?)
make sure you do
% cvs add Bio/Assembly
first, ie add the directory then do
% cvs add Bio/Assembl/*.pm t/Assembly.t t/data/a12343.phred
and so forth.

> 5. cvs commit
make sure you add a comment when committing
as in
% cvs commit -m "a description of what I have done"
since this is the first commit for these modules you can say
% cvs commit -m "initial commit of assembly objects based on my code in

If you want to have different commit messages for different files you can do
% cvs commit -m "msg1" file1 file2
% cvs commit -m "msg2" file3 file4 dir1

> I have been using CVS locally here for all of my things. I was going to
> write a simple script that when given the command copies these modules
> from my devel tree into the bioperl tree and commits them into bioperl. Is
> that wise?
I hope it doesn't need to be that complicated - just cvs checkout bioperl
with your bioperl.org account, then copy the modules from your checkout of
your src to bioperl dir. do your cvs adds and commits and all should be

I recommend checking out a separate version that you don't do any dev in
% cvs -d :ext:username@bioperl.org:/home/repository/bioperl co -d
bioperl-buddy-build bioperl-live

where the -d bioperl-buddy-build specifies the local directory to name the
checkout rather than bioperl-live.  This is the place to run your tests
again in a clean environment to make sure you didn't forget to 'cvs add'
anything.  Important to do this with your cvs r/w account as the anonymous
code is only synced every 2 hours.

> Thanks for everybody's patience while I learn these mysterious (to me)
> procedures.
> Chad Matsalla
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l@bioperl.org
> http://bioperl.org/mailman/listinfo/bioperl-l