[Top][All Lists]

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

Re: Help regarding CVS setup

From: Todd Denniston
Subject: Re: Help regarding CVS setup
Date: Tue, 04 Mar 2008 10:40:40 -0500
User-agent: Thunderbird (X11/20071031)

Please _reply_All_ to the group.
If possible have your email client mark replies so that your reply info is marked differently than the info you are replying too.
I _attempted_ to mark the info below so we could see your replies.

Sadia Tahseen wrote, On 03/03/2008 06:30 PM:
Hi Todd,

I assume these computational models are in a computer programming language, such as C, C++, Fortran or lisp.
 The program is written in Java

OK, the Java source code can be controlled easily with CVS.

So I have refered
 various sources for configuring CVS where I
 could learn I have to create another user say 'CVS'.

If I understood you correctly above, all of your users are already setup on all of the systems as real users, i.e, they can login to each one of the machines including (especially) the cvs server machine.
Yes ,all the users are already setup and in future more can be added .They can 
login to each of the 4 systems I mentioned earlier and the main server is the 
system which can access all other 3 systems and all permsiions are set on it.

If that is the case you should not need to create another user. Also I suggest against using pserver, so you don't need to do user mapping.

if each of your users can
ssh cvs_server
where cvs_server is the name/ip address of your server machine, then you are half way to getting setup.

So I have a doubt that can't I place a folder in 'appl ' folder which is common to all the users.

is this 'appl ' folder a source folder or a common set of applications they need to build the project?
Yes ,it is common directory to all users.

But does it contain _source_code_ or _binary_applications_?
Source code can be version controlled, binaries can be but it is MUCH more difficult.

BTW the expected mode of operations after you have put _source_code_ under CVS is that each user will check out a sandbox with the common code in it, and then build, modify and use the data in their own sandbox, with the appropriate commits if they modify things.

So I would like to know the how and where to install and other directions to meet my requirements.

We still need to establish, more fully, what your requirements are...

Thank you

Further Assumptions:
1) you are root on the server or have sway with the person who is.
2) if you are the root person, you know a bit about Unix administration.
3) if you are using NIS/LDAP A) the cvs_server is also the NIS/LDAP server, B) you know how to map the /etc/* changes I indicate below to NIS/LDAP appropriately. 4) your user name is sadia, the next user in your group is user1..., or you know how to translate those example user names to the appropriate ones on the real system. 5) you and all of your users can secure shell into the cvs_server by typing `ssh cvs_server` pressing enter, and then giving your password or by using ssh-agents. 6) you know how to translate cvs_server and a_workstation to appropriate local machine names.
7) you are needing a quick start to see cvs in action.
8) you'll destroy the repo we setup here, and create one with more appropriate names when you know what you want to do. :)

Looks like several of these assumptions are broken, which will make explaining and understanding what you need to know painful.
If you have time, then you might find one or more of the following very useful:

as root on the cvs_server:
edit /etc/group and add a group for your cvs work, i.e. add a line similar to the following:
I have a doubt here!I have a common directory "users"which had gid as 100 and all users are created in here.
and all users have their own id too like

I assume you are referring to the default redhat users group:
$ grep 100 /etc/group

You could use this group by putting your users in it:
but most of us create a special purpose group as I showed above (in my previous email), so that as we add new projects we can keep them separated using the groups.

Now do I have to make other separate group...cant I create in same id.
Moreover I have to create "cvs"(repository)in "/appl/src/cvs"
where src is an empty .and If in Case more users have to be added ,
how will I have to set the new group ID you are talking about

If the users are working on the same source code then you add them to the end of the group line you are using,
see `man 5 group`.

Then some appropriate commands {twisted from my last email}:

as root on the cvs_server:
edit /etc/group and add a group for your cvs work, i.e. add a line similar to the one of the following:
#if you choose to use users group,
# then substitute
# users where you see sadiascvsgroup below
chown sadia:sadiascvsgroup /appl/src/cvs/

then as sadia on cvs_server:
cd /appl/src/cvs/
mkdir JavaAppl
pwd #assumption it returns /appl/src/cvs/
export CVSROOT=/appl/src/cvs/JavaAppl
cvs init
mkdir JavaAppl/projectdir
chown :sadiascvsgroup JavaAppl/projectdir
chmod g+rws JavaAppl/projectdir
#you'll want to tighten up security on the following directory later.
chown :sadiascvsgroup JavaAppl/CVSROOT
chmod g+rws JavaAppl/CVSROOT

then as sadia on a_workstation:
export CVSROOT=:ext:cvs_server:/appl/src/cvs/JavaAppl
export CVS_RSH=ssh
cvs checkout projectdir
date > projectdir/mydate
cvs add projectdir/mydate
cvs commit -m"a comment" projectdir/mydate

as user1 on another_workstation:
export CVSROOT=:ext:cvs_server:/appl/src/cvs/JavaAppl
export CVS_RSH=ssh
cvs checkout projectdir

Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane)
Harnessing the Power of Technology for the Warfighter
Even when this disclaimer is not here, 
the opinions expressed by me are not necessarily sanctioned by and 
do not necessarily represent those of my employer. 
Also even when this disclaimer is not here, I DO NOT have authority to 
direct you in any way to alter your contractual obligation 
and my email can NOT be used as direction to modify a contract.

reply via email to

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