Boston Linux & Unix (BLU) Home | Calendar | Mail Lists | List Archives | Desktop SIG | Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings
Linux Cafe | Meeting Notes | Blog | Linux Links | Bling | About BLU

BLU Discuss list archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Quick question on CVS



On Fri, May 27, 2005 at 03:04:57PM -0400, Jerry Feldman wrote:
> On Friday 27 May 2005 2:44 pm, nmeyers at javalinux.net wrote:
> > On Fri, May 27, 2005 at 02:22:15PM -0400, Jerry Feldman wrote:
> > > I currently have a development project where all the sources are in my
> > > home directory at the customer site. Each source directory has a CVS
> > > subdirectory with the appropriate data files (Entries, Repository,
> > > Root, Tag, Template), but I do not have access to the customer's
> > > repository, and they simply want me to set up a local repository in my
> > > home directory. The Root file contains a pointer to the pserver
> > > containing the customer's repository. (My preference would have the
> > > company set up a branch that I could checkin and out so that when we
> > > are complete, the changes would already be on their repositor, but that
> > > is not going to happen).
> > >
> > > In this case, only my userid will be used to access any of the files
> > > (and possibly one other userid which is the company CTO).
> >
> > I'm having trouble finding a question mark. Are you interested in how to
> > do this? "cvs init" to create the repository, followed  by "cvs import"
> > can get you there easily.
> Pretty much a pointer on where to proceed. I've got a copy of the O'Reilly 
> book and there is an online manual I've used before. 
> The main thing I don't want to have to manually touch every file and every 
> directory.

OK... "cvs import" is your magic. Now, it's normally used on non-cvs trees
- those without CVS subdirectories. My *guess* is you can use it on your
checked-out CVS tree and it'll just ignore the CVS subdirectories, but
you *might* have to remove those subdirectories - easily done with one
"find" command.

Once you have a CVS repository, you just position yourself at the top of
the tree you want to import and run something like this:

  cvs -d /path/to/CVS/repository/root import repos_directory vendor_tag release_tag

This will import the directory you're sitting in into the
"repos_directory" subdirectory of the repository. Everything will be
imported into a branch named "vendor_tag", and be tagged with the version
tag "release_tag". If you do this again later - to bring in newer stuff
from outside - you'd use the same vendor_tag but a different release_tag.

By default, the import process will ignore certain things from your
source tree, sometimes to your annoyance. You can use the -I flag to
change this behavior.

It took me awhile to figure out "cvs import"... you may find you need
to experiment. Go ahead and create a scratch repository somewhere ("cvs
init") and try it; it will not touch the original tree you're importing
from, so don't worry about making mistakes - you can always kill your
repository and start over.

Nathan



> -- 
> Jerry Feldman <gaf at blu.org>
> Boston Linux and Unix user group
> http://www.blu.org PGP key id:C5061EA9
> PGP Key fingerprint:053C 73EC 3AC1 5C44 3E14 9245 FB00 3ED5 C506 1EA9
> _______________________________________________
> Discuss mailing list
> Discuss at blu.org
> http://olduvai.blu.org/mailman/listinfo/discuss
> 
> 




BLU is a member of BostonUserGroups
BLU is a member of BostonUserGroups
We also thank MIT for the use of their facilities.

Valid HTML 4.01! Valid CSS!



Boston Linux & Unix / webmaster@blu.org