Actually, CVS doesn't work that way. Everyone can make changes to the same files at the same time. It's just when you try to check those files back in that you learn that someone else has been there before you.
Usually, though, CVS can merge your changes and the other person's changed automatically. It does by looking at the changes you made to the base version and the changes the other guy made to that same base version. Unless you're changing the same lines, there's mergey goodness.
Assuming I had a test setup on my Mac, here's how I would work:
Update from CVS to my machine, getting the latest changes.
Try them out, make sure it's all working on my machine.
Make my changes locally, testing as I go.
Update again, just in case someone has changed things in CVS while I was working. If the changes conflict, work out the conflicts locally.
Test one more time.
If we were using a ReleaseNotes file, this is when I'd write my release note, listing the files I changed and why.
Check in my changes. CVS calls this process committing. Heh.
That's the basic idea. There needs to be a little more refinement, for example, to come up with a way that we offically bless a set of sources in CVS as being the next Phoenix and move them over to production.
Ah, the innocence of youth. I mean I know you're joking, and all.
What what what? How is this....
going to AIM now.
Thanks for the links. I'll start playing around with that this weekend.
Looks like the MySQL guys are taking over distribution of the Mac OS X versions.
How come some posters have white space between the line with their name on it and their tagline, and others don't? And how can I get rid of mine?
Lyra, as far as I can figure out, this is caused when the single space after "Mark" on the line above the tagline wraps, and the word "Mark" itself does not. The best way to fix it is to change the size of your browser window.
Looks like the MySQL guys are taking over distribution of the Mac OS X versions.
That's probably good. Now people can stop being snotty about the version that Apple provides.
Hey by the way, the lastest version of PHP doesn't pass variables from the query string to the page by default. It's turned off on a default install and you have to turn it on in a php.ini file.
Rob, I thought there was a lock function that could prevent others from checking out a file?
There is, I think, but I've never seen it used. It just isn't necessary, and on large projects could make it hard to get any work done. It would be impossible to get a lock on all the files you wanted to change.
Yikes. I'm kinda pro it, because I need confidence that I'm the only one editing a class at a time.
If it's one class per file, that can sorta work, assuming two people never need to work on different parts of the same class.
If there are multiple classes in a single file, exclusive access won't work very well at all.
And locking a single file doesn't help if I check in changes to a different file that your changes depend on. You still can't check in yourself until you merge with my changes and resolve any conflicts.
If colliding on the very same area of code is a concern, we should use the mailing list to announce the areas we're actively working on. That way we can all avoid making big changes to the same area at the same time.
It's one class per file, yes. And they're mostly independent, save thread and post. That's where my worry is. That and the basis of the page template -- those are where mutually buggering changes are most likely.