[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Confusion regarding a new repository
From: |
Dennis Jones |
Subject: |
Re: Confusion regarding a new repository |
Date: |
Mon, 18 Jun 2007 22:41:52 GMT |
"Simon Renshaw" <address@hidden> wrote in message
news:address@hidden
> Hi,
>
> I'm having some problems setting up a new repository. First try ended up
> as a failure.
>
> First, I created the directory simon under /usr/local. Then I ran cvs -d
> /usr/local/simon init.
>
> I assume that the next part is where I screwed up. I copied a few
> directories (each containing a bunch of files) under simon. Then I made
> sure the permissions were OK. I could only checkout the directories
> themselves, not the files under them in Eclipse.
Yes, that is where you screwed up. You were messing with the repository
*directly* -- something you should never do.
> So I deleted everything and recreated and inited simon.
Good.
> I've been looking at the doc (section 3.1.3) and I'm not sure what to do
> next. The files I want to put in CVS are plain, regular files, not
> previous CVS projects. The files I want to put in are in /uni/<folder>.
CVS has no notion of "projects." Anything you want to go into the
repository must go through a CVS client. (well, that's not *strictly*
true -- but true enough for your purposes)
> Does that mean that if I want to create a project called sources under
> simon, I will need to run cvs import -m /usr/local/simon sources stuff
> start?
Correct.
> The doc says yoyo but not sure exactly what it does.
"yoyo" is just the name of some example folder (or a module name, I don't
remember which off the top of my head).
> And then I checkout that project and I add the files to it?
Correct again. It's kind of a nuisance to have to do a checkout after an
import, I know, but that's how CVS works. An import does not create the
necessary administrative "CVS" folder or its contents; a checkout does.
Once you have a folder in the repository, you can add sub-folders without
using the "import" command (just use the 'add' command). However, all
top-level folders should be added using "import."
I don't recommend this by any means, but you *could* create a folder in the
repository directly (like I told you *not to* earlier!), then checkout that
folder and add/commit files to it using the normal CVS client interface.
That would avoid the import, but it's not really any better or easier than
executing an import followed by a checkout -- especially if you have
multiple folders you want to import. You can add folders (but not files) to
the repository directly -- which explains why you were able to checkout your
folders, but got no files -- and you can do this only because CVS does not
perform versioning on folders, only files. Again, I DO NOT recommend you do
this; it is not the way CVS was meant to work. You should treat the
repository as if it were read-only, and accessible only through a CVS
client.
- Dennis