This post originated from an RSS feed registered with Web Buzz
by Cheah Chu Yeow.
Original Post: Your own private CVS repository
Feed Title: redemption in a blog
Feed URL: http://blog.codefront.net/xml/rss20/feed.xml
Feed Description: ramblings of a misfit - web development, Mozilla, Firefox, Thunderbird, CSS, programming
To think I'd tried to set upon the path of setting up a CVS server a few weeks back to allow me and several friends sharing a dedicated server to have our own private CVS repositories. The approach I took was to setup the server for password authentication (pserver). Naturally, I failed to get it running (had some issues with xinetd), and had given up since. Little thought did I give to alternative ways of setting up a CVS repository, and probably the most common sense way, using RSH - specifically, SSH, to connect. Well, that worked, and it was amazingly simple to do too.
I'm going to assume you have a shell account to your webserver accessible via SSH. Also, your server should have the cvs client installed - you can test it by logging into your shell account and typing 'cvs -v', whereupon it should print the CVS version and the usual blurb.
Now, my server is codefront.net and I have a user account chuyeow. First, I'd have to create a repository on my server. I do that by logging in to my shell account (using SSH) and creating a directory where I'd have read-write access. The simplest place is to create a directory in your home directory (mine's /home/chuyeow).
$ mkdir /home/chuyeow/cvsroot
Create the CVS repository:
$ cvs -d /home/chuyeow/cvsroot init
There I'm done! I now have a CVS repository that's accessible from any location so long as I have a SSH client and a CVS client.
To access my repository, I'd first have to set my CVSROOT to :ext:chuyeow@codefront.net:/home/chuyeow/cvsroot, and the CVS_RSH environment variable to "ssh". I do that by entering these lines below into my ~/.bashrc file.