[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Module aliases
From: |
xyzzy |
Subject: |
Re: Module aliases |
Date: |
Thu, 29 Apr 2004 18:09:49 +0300 |
User-agent: |
KMail/1.6.1 |
Hi Jim,
Thanks a lot... this is getting much closer to what I need (and, of course,
any problems here are because of my unclear exposition!)
See below:
On Thursday 29 April 2004 17:33, Jim.Hyslop wrote:
> address@hidden wrote:
> > On Thursday 29 April 2004 16:24, Jim.Hyslop wrote:
>
> [...]
>
> > > subproject-b project/b project/aa project/bb
> >
> > The problem with your fix is that aa and bb are 2 of many
> > files.... The
> > problem is mine because I was not clear on what I needed.
> >
> > I have many files in the root directory and want to get them
> > all...
>
> Ah, in that case, move directories a and c to a different location in the
> repository, create entries for each of them in the modules file, and add
> them as ampersand modules in the main project entry. Something like:
>
> project_a -d a project_relocated/a
> project_c -d c project_relocated/c
> subproject-b -d project project
> project -d project &subproject-b &project_a &project_b
>
> should do it. NOTE: Make sure anyone using these directories checks in any
> outstanding changes, releases their local copy, then does a fresh checkout
> when the move is complete.
>
> > I also DO want an alias because I want the name of the
> > checked out directory
> > to be "project", not "subproject-b".
>
> No, as I said, you don't want an *alias*, you want a *subset*. The two
> concepts are different. Setting the name of the checked-out directory is
> easily fixed using the -d option.
Ok, let me show this with a full example, seeing whether I understand
completely what you said above:
Currently I have a project which lives under /cvs as follows:
cvs
|_project
|_a (directory with files and subdirectories)
|_b (directory with files and subdirectories)
|_c (directory with files and subdirectories)
|_d (directory with files and subdirectories)
|_e (directory with files and subdirectories)
|_aa (file under "project")
|_bb (file under "project")
|_cc (file under "project")
|_dd (file under "project")
|_ee (file under "project")
|_ff (file under "project")
|_gg (file under "project")
|_ (... files, etc...)
Currently, I will do:
cvs co project
and have the directory "project" with all under it, mirroring the structure
above on the local machine.
What I want to do is to continue to be able to checkout the full project with
the same structure, as well as do things like:
cvs co project_a_b
Which would give me
<local directory>
|_a
|_b
... and
cvs co project_c_d_e
Which would give me
<local directory>
|_c (directory with files and subdirectories)
|_d (directory with files and subdirectories)
|_e (directory with files and subdirectories)
|_aa (file under "project")
|_bb (file under "project")
|_cc (file under "project")
|_dd (file under "project")
|_ee (file under "project")
|_ff (file under "project")
|_gg (file under "project")
|_ (... files, etc...)
... etc...
So, what you are saying is that I should move all directories to other
subdirectories under /cvs so that now, my cvs tree looks like:
cvs
|_project_files
|_aa (file under "project")
|_bb (file under "project")
|_cc (file under "project")
|_dd (file under "project")
|_ee (file under "project")
|_ff (file under "project")
|_gg (file under "project")
|_ (... files, etc...)
|_project_a_b
|_a (directory with files and subdirectories)
|_b (directory with files and subdirectories)
|_project_c_d_e
|_c (directory with files and subdirectories)
|_d (directory with files and subdirectories)
|_e (directory with files and subdirectories)
... (removing the "project" directory completely).
Then create entries in the modules file as follows:
project_a_b -d project project_a_b
project_c_d_e -d project project_c_d_e project_files
project &project_a_b &project_c_d_e
An issue that I see with the final module line is this (from 'info CVS' at
Ampersand modules node):
"There is one quirk/bug: the messages that CVS prints omit the
`ampermod', and thus do not correctly display the location to which it
is checking out the files"
Have I got this right? Does this mess up anything in CVS that counts on the
"project" directory existing under /cvs? What about the log entries, etc??
How do I hide these changes from the users so they don't see the structure of
the /cvs directory? That is, I don't want users to see something like
"project_a_b" ever, only "project".
Thanks for your help.