The following "Introduction to WinCVS" tutorial pages were taken from a short presentation I gave to new programmers and people in the design department at a small company I previously owned. As part of our overall development process we found it was helpful if everyone knew a little bit about how CVS works, and how WinCVS in particular works. I hope these pages will be helpful to you as well.
recent posts related to cvs
A few simple steps
(Note: These comments were specific to our company's use of Ant to deploy our Java projects. If you're not using Ant, any Ant commands shown here won't apply to your project.)
To deploy any of our Java projects using Ant, just follow steps similar to these to check the project out of CVS and then build it on the server:
The CVS "Insufficient Karma" message
The CVS Insufficient Karma message means that you don't have the proper security permissions to check files back into a CVS repository. This is a problem that your CVS administrator can fix for you, and in the DevDaily CVS configuration refers to improper configuration in the "avail" file.
I started to write about a few "special CVS tasks" that a user needs to perform from time to time, but as a practical matter, I've found that most new users don't need to worry about tagging a release for at least a little while, so I've skipped this topic here, at least for the time being.
This section assumes that that you've already checked out a project from a CVS repository and you're ready to start working on it. This section is broken down into the sub-sections:
Checking out a copy of a project
Select "Create | Checkout Module", then fill in these fields:
Enter the module name and path on the server
Local folder to checkout to
These are the tasks you'll need to perform to get started with WinCVS:
- Download WinCVS
- Install WinCVS
- Start WinCVS
- Setting your preferences via Admin/Preferences
- Checking out a copy of a project
You can download the latest version of WinCVS from it's Internet home, wincvs.org.
When working with CVS, there are several concepts that you should know:
Life never ceases to amaze me. In this case, one day I write a rant about a Pigpen Developer who is anti-YAGNI, and then later in the week this exchange takes place.
Thursday morning, a customer tells me "Al, we're not going to need the XYZ functionality after all."
"No problem", I say, "I'll delete it."
"That would be great", they say, and I go off and delete all the code related to XYZ.