When you start writing software, you usually begin with an exploration phase where you collect notes, ideas, algorithms and start playing with code. At this stage, we you’re not working on a well-defined project but an a brood software. You probably think you don’t need CVS (or any versioning system) during this exploration phase. That’s a mistake.
The idea is to use CVS as a software incubator. Using a module called “egg” with sub-modules for storing your brood software will do the trick.
For example, say you want to create a brand new graphics engine. You can’t give it a name yet but you want to test some early solutions you’ve think about. It’s interesting to keep track of these files even if it’s not yet a “project”. Here comes the incubator.
Create a module called “egg/future-engine” in CVS. There put everything you want concerning this brood projet. You don’t have to care about naming or structuring anything because it’s likely to change during the exploration phase. The good thing is that you can make extensive use of CVS. Each time you have something working or you’re exploring a new path, put a tag on your sources.
After a while, when you have a better vision of what you want to achieve and how to structure it, then it’s time to start a real project. To do that, create a release tag on the “egg/future-engine” module, organize, rename files or whatever and import them into a new CVS module. The START tag of CVS will refer to the last release tag of your brood software, this way you keep all your pre-project history into a safe place.



Add New Comment
Thanks. Your comment is awaiting approval by a moderator.
Do you already have an account? Log in and claim this comment.
Add New Comment
Trackbacks