Game Development Community

Setting up a CVSNT Server

by Matthew Shapiro · 03/25/2002 (8:56 pm) · 5 comments

After a long, aggravating 2 weeks of trying to get my CVSNT server up and running, I finally go it working. It was a royal pain because the documentation wsa not at all good. That is why I have decided to write this tutorial. What you will need for this tutorial is an NT machine and CVSNT (duh =p). NOTE: These instructions are for Windows 2000. I don't know hwo different some things will be in NT4 but shouldn't be too hard to adapt.

Ok once you install CVSNT, you need to go to the root directory where you will be storing the cvs repositories and a temp directory. You can name the 2 directories anything you want but you should name them simple as the cvs repository directory is needed to be referenced with the cvsroot. Once you make those directories go to Control Panel->System->Advanced and click on Enviromental Variables. There are 3 variables you need to set. First is a HOME variable which should point to the root drive of where your repository exists in (i.e. I'm using d:/cvs for my repository so my HOME is pointing to d:/). Then you make 2 variables, TEMP and TMP. Have both of them pointing to your temp directory you created before.

Now close that. Go to the CVSNT control server application. If not installed (the install button is popped up) press it, tho it shoudl be installed already. Make sure the service is stopped (it will say Service is stopped above the buttons and the start button will be lit up). Go to the Repositories tab and click on add. Enter your cvs repository directory and press ok. It should now show up in the big text box in the middle. Now go to the Advanced tab and make sure all checkboxes are checked. Once that's done go back to the Service Status tab and click on start. After a few seconds It should say Running. Yay your CVS server is running but noone can logon.

First off i should get into one main thing. DON'T COPY YOUR DIRECTORY YOU WISH TO HAVE AS A MODULE INTO THE CVS DIRECTORY!. If you do and try to checkout it, it will only checkout the directory structure (or at least for me). Now you must create a passwd file in the CVSROOT directory. This file holds all the usernames and passwords. Now this is a normal text file (NO EXTENSION) but it uses encryption to store the passwords. There is a program out but I find it easier to use the command prompt. To make a new user first of all you must create a Windows User. Now you have 2 options. YOu can basically set a username to be a group (like if your team name was Arean software, make a username Areansoft) and have all your users log on and alias the name to use this logon. I prefer this as it allows different usernames. So make your windows user name now.

Now using the previous example of Arean Software, This is how you change the password. This is assuming that i created the username in windows 2000, Areansoft. Now i go into the command prompt and type: cvs passwd -a -r areansoft Jake .The -a tells cvs you want to add a new user. -r tells cvs that the next username is a REAL windows username. Jake is the alias that will point to the areansoft username. Now press enter and you will get 2 dialogs asking for a password and confirm password. Then cvs will encrypt it and put it in the passwd file. Ease eh! It's funny cause this part was the biggest problem for me =p

Now get a CVS program (easier for a gui program but you can use cvs command line). My favorite is Tortoise CVS because it uses windows explorer and is fast and as powerful as wincvs but either option will do. All you have to do (at least in tortoiseCVS) is right click the directory you wish to make a module and click make new module. Enter Unix pserver for the protocol type and type in the server and such as directed. I think you need the drive letter for the repository (like mine is d:\cvs os i put in D:/cvs). Then it should upload everything and you should be set!

It's funny when i think that it took me so long to do everything that i did back there. BTW if your editing the passwd file yourself make sure you do this: AliasName:EncryptedPassword:REalWindowsNTUserAccount. That threw me off for a while too. I hope this helps and if you guys have any questions don't hesitate to ask either by posting a comment or KallDrexx@comcast.net. However I don't know everything about CVSNT but I'll try anyway I can. Anyways hopes this helps you guys.

--KallDrexx

#1
03/26/2002 (3:54 pm)
Thanks ! This has been very helpful.
#2
03/26/2002 (7:01 pm)
my pleasure =)

--KallDrexx
#3
03/27/2002 (11:24 pm)
Looking to setup CVS you may bave convinced me to go the route of NT, since you set this up on a 2K box I'm assuming it will work in the XP environment? Well I'll let you know...

Thanks again.
#4
03/30/2002 (5:16 am)
hmm lol after many reinstalls trying to reinstall the cvs is becoming a apin. First of all I forgot another variable that needs to be SYSTEM, which is CVSROOT and set it to :local: and RIGHT AFTER the : the directory of the cvs repository so like for me it would be :local:d:/cvs... Also a few times I have had trouble with it not making cvs.exe global. I just copied cvs.exe to my windows/system32 directory.

--KallDrexx
#5
03/31/2002 (3:46 am)
:)
#6
09/05/2002 (5:57 am)
Matthew,

I installed this on a Windows 2000 Server without problem. You must have your HOME, TEMP, TMP, CVSROOT and PATH addition correctly setup before you try to install your CVS repository and startup the CVS NT service.

One thing though, you don't need to copy "cvs.exe" to "Windows(WinNT)/system32", just make sure you've added the CVSNT program directory to your PATH environment variable and it will find it no problem.

- Melv.