I run CVS on my Mac OS X box and access it from a Windows VM. It works great (although the version of CVS that comes with Mac OS X is really old).
But I find it annoying that I cannot tell by looking at the project folders if I have checked out the project or not. Is there a way to tell the CVS command to delete a folder it checks in so that I can only edit a project that I have checked out? Since I am the only user I can just as well follow a strict check-in/check-out regime.
Also, is there a way for CVS to add new files automatically? I am not sure how I can best开发者_如何学C remember which new classes I create so I can add them to the project in CVS. I know I should probably cvs add
new files when I create them, but then I often create a new class and then delete it again when I decide that I don't need it after all. Adding and removing such files from CVS should best be automatic.
Or perhaps I should switch to a different source control system (that is easily installed, runs on Mac OS X, and has a Windows client)?
Any answers/comments/ideas welcome!
SVN could be better in case you want to delete folders.
You can use "cvs status" to see the status of your working folders, and "cvs release -d" to get CVS to check to see if you've any outstanding changes in your working folders before removing them.
But I find it annoying that I cannot tell by looking at the project folders if I have checked out the project or not.
Use cvs status command.
Is there a way to tell the CVS command to delete a folder it checks in so that I can only edit a project that I have checked out?
No, directories in CVS repository always exists. You can get rid off them locally if you use update with -P option (prune empty directories)
Also, is there a way for CVS to add new files automatically? I am not sure how I can best remember which new classes I create so I can add them to the project in CVS. I know I should probably cvs add new files when I create them, but then I often create a new class and then delete it again when I decide that I don't need it after all. Adding and removing such files from CVS should best be automatic.
Files that aren't under CVS are in status unversioned. I suggest adding file before commit (not when you create a new file). Maybe you should consider using GUI tools for CVS that facilitate development like WinCVS or TortoiseCVS.
Or perhaps I should switch to a different source control system (that is easily installed, runs on Mac OS X, and has a Windows client)?
Yes. Definitely. SVN in much better than CVS and have lot of mature tools for every platform.
精彩评论