[Top][All Lists]

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

Re: CVS newbie setup questions

From: David Taylor
Subject: Re: CVS newbie setup questions
Date: Tue, 18 Sep 2001 16:34:00 -0700

Charlie Wu wrote:

> Hi David:
> I've gone through most online manuals.. including the verbose one you
> suggested below.. but despite reading all these *fine* manuals, I am
> still getting nowhere.
> I installed CVS, set my env variable, did the init, then what? The
> manual said: (
> Checking out a working directory

Actually, for a new repository, the next step is to populate the
repository. From your previous message:

Charlie Wu wrote:
> address@hidden/users/home11/cwu}: echo $CVSROOT
> /users/home11/cwu/junk
>  address@hidden/users/home11/cwu}: ls junk

it looks like your repository is empty (only the directory CVSROOT,
containing CVS administrative files, appears). That is why checkout

>  address@hidden/users/home11/cwu}: cvs checkout extra
> cvs checkout: cannot find module `extra' - ignored
> address@hidden/users/home11/cwu}: cvs checkout /users/home11/cwu/extra
> cvs checkout: cannot find module `/users/home11/cwu/extra' - ignored

In general, if "ls $CVSROOT/<path>*" doesn't work, neither will "cvs
checkout $CVSROOT/<path>" (ignoring, for now, the more advanced case
where $CVSROOT/<path> doesn't exist but is defined in
$CVSROOT/CVSROOT/modules file).

The standard way to start populating the repository is with the "cvs
import" command. This command is almost too hideous to discuss in
public. It is generally the first CVS command used by
non-administrators, but it unfortunately is one of the most confusing.
The most common questions an admin has to be ready to field:

- Two of its arguments are "tags". What are "tags"?
- What should I put for "vendor-tag" ? (Standard answer:  "It doesn't
- If it doesn't matter, why do I need it?
- I've used "cvs import" before, but I can't remember the syntax (it has
*three* required arguments! But one doesn't matter...)
- When I execute the command, should I be in the directory, or one level
up? (Answer: In the directory - "import" creates the path given in the
"repository" argument. This question probably arises from the
expectation that "import" works like "cp -r * dest" , which would NOT
create a directory dest if it did not exist.)

So this is the point where the manuals kick in: read up on "cvs
import".  Once the repository is populated, you're ready to checkout: cd
to an empty directory and checkout as before. After that you can add
and/or modify, and then commit files.

> It's really not that I don't want to RTFM before I ask, but I have to
say CVS > can definitely use> some better step-by-step guide -

I'd like to hear some specifics on how the existing tutorials failed to
meet your needs: to create a "better" guide, we need to define "better".
Otherwise, we risk creating Yet Another Useless CVS Tutorial.
> I'm not a unix sys admin and I'm trying to convince my group> that CVS
is a much better tool than those commercial ones like clearcase, vss, >
and heaven> forbid, interwoven, and this user-unfriendliness is really
pulling my leg here>> Thanks again>> Charlie

Again, it depends on how you define "better". But its initial cost is
certainly less and, these days, that can be a very decisive argument.
Managing parallel development is inherently not easy. Even if you've got
the bucks to spend, a case can be made for first  using a free tool like
CVS (to better understand the issues and your needs) before locking into
a more expensive solution.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]