Archived

This topic is now archived and is closed to further replies.

OctDev

Merits of CVS for solo projects

Recommended Posts

Any individuals use CVS for solo projects? Anyone think this is a good idea, simply for tracking updates and future bug fixes and etc? I''ve actually never used it, and am setting it up just for experience as well, but I am curious if anybody uses it just to help track updates and changes in a project where multiple programmers is not an issue. The Tyr project is here.

Share this post


Link to post
Share on other sites
I wouldn''t use source control unless working with multiple people... and sometimes not even then.

If you''re concerned about backing up only recently modified files, just write a small program to do it for you... or you can backup by hand... It''s up to you.

IMO the benefit of CVS is to prevent more than one person from working on a particular section of code at once... You won''t have that issue.

Share this post


Link to post
Share on other sites
CVS is nice for easily tracking versioning and changes. It''s also definitely a plus for me to be able to check out the code anywhere.

For most solo programmers, however, CVS is overkill.


Don''t listen to me. I''ve had too much coffee.

Share this post


Link to post
Share on other sites
We use PerForce where I work. It is both a version control system and a configuration system. As Nyryren says the primariy reason to use it is to avoid problems with different people modifying the same files and keeping all up to date.

However, I have become so accustomed to it that I think I would use it for solo projects too. It has a number of advantages in this regard:
1. It maintains a history of files so you can easy track down what caused the problem if a bug suddenly appear.
2. You can get a snapshot of the system as it was at a given time. That was you can always retrieve a running version of the system even when you have pulled stuff apart to fix something.
3. You can make temporary develop branched where you try things out without modifying the main develop branch. And when the changes are ready you merge it with the main changes. Neat when you experiment with things that you want to compare to the original in some way (e.g. performance)
4. You can put all your other assets into the system too, so the all this even applies to graphics - so if you arejust one programmer and one artist you get the benefits of shared files. (This is neccesary to do a full snapshot of a running system as pointed out in point 2.)

I don''t know if CVS can do all this - but I know SourceSafe cannot. (SourceSafe can only do 1. and a very limited part of point 3.)

Jacob Marner, M.Sc.
Console Programmer, Deadline Games

Share this post


Link to post
Share on other sites
Thanx for the replies.

I am primarily interested with 1 and 2 felonious. 4 is really cool, I hadn;t thought of that, but as its just files, I can see how that would work with CVS as well. This would also be great for down the road, programmer + artist, as said.

As for 3, this is exactly the kind of feedback I wanted. I''ve never heard of this, and that is really cool that it is set up through the program. I''ll check out PerForce later tonight. What is the license/cost? I''ll google it in a few minutes anyway, jsut curious.

Any other interesting benefits from source control that might make it beneficial for an individual to run?

The Tyr project is here.

Share this post


Link to post
Share on other sites
FWIW, CVS does all of 1-4.


Don''t listen to me. I''ve had too much coffee.

Share this post


Link to post
Share on other sites
quote:
Original post by felonius
I don''t know if CVS can do all this - but I know SourceSafe cannot. (SourceSafe can only do 1. and a very limited part of point 3.)



SourceSafe can do all four of those things...

If I had my way, I''d have all of you shot!


codeka.com - Just click it.

Share this post


Link to post
Share on other sites
quote:
Original post by Dean Harding
SourceSafe can do all four of those things...



No it cannot. If have used both system quite a bit at work.

In source safe rolling back and taking snapshots of old files can only happen for one file at a time. You cannot give one command and get a snapshot of the whole system unless you where so foresigted to actual put at label at that specific point of time. In Perforce you just give it a time and date and get the whole system (or a subset if you want to).

In source safe the performance will go down to a drag if you add graphic assets too. It will get so slow you regretted doing it. I tried. Many users of source safe, supplement it with ALien Brain from NxN for this exact reason (although the version of ALien Brain we tried here didn't scale well, but NxN claim to have fixed that issue in the meantime)

Temporary branches in source safe does not work very well. It is quite complicated to make a brnach and then get a copy of that in another working directory - and then work on both at the same time. When you do a branch in perforce you can have group of people work on that branch as nothing had happened and then later they can merge together as nothing had happened. SOurce safe is very good at the actual merging of cpp files though - better than perforce.

Jacob Marner, M.Sc.
Console Programmer, Deadline Games

[edited by - felonius on October 22, 2002 12:58:41 PM]

Share this post


Link to post
Share on other sites
quote:
Original post by Dean Harding

SourceSafe can do all four of those things...




I have never used SourceSafe, so couldn't say for certain, but it's my understanding that SourceSafe is limited to VisualStudio type projects. Again, I have no direct experience, so that's only hearsay.

Either way, CVS is free, easy to setup (On *nix systems anyway). It makes great sense for people developing on more than one machine, or across different platforms, windows, linux, etc...

-- Aaron

(Edited for readability)

| HollowWorks.com | Rhott.com |

[edited by - mrhollow on October 22, 2002 1:04:31 PM]

Share this post


Link to post
Share on other sites
quote:
Original post by felonius

quote:
Original post by Dean Harding
SourceSafe can do all four of those things...


No it cannot. If have used both system quite a bit at work.

In source safe rolling back and taking snapshots of old files can only happen for one file at a time. You cannot give one command and get a snapshot of the whole system unless you where so foresigted to actual put at label at that specific point of time. In Perforce you just give it a time and date and get the whole system (or a subset if you want to).

In source safe the performance will go down to a drag if you add graphic assets too. It will get so slow you regretted doing it. I tried. Many users of source safe, supplement it with ALien Brain from NxN for this exact reason (although the version of ALien Brain we tried here didn't scale well, but NxN claim to have fixed that issue in the meantime)

Temporary branches in source safe does not work very well. It is quite complicated to make a brnach and then get a copy of that in another working directory - and then work on both at the same time. When you do a branch in perforce you can have group of people work on that branch as nothing had happened and then later they can merge together as nothing had happened. SOurce safe is very good at the actual merging of cpp files though - better than perforce.




I think you've made his point. He never said it worked well. He just said it could do it. And so far as being foresighted enough to put a label on everything, in VSS, you should get into the habit of doing that on a daily basis. I agree it's not the best solution, but if it's the only one you have, you make it work.



Looking for an honest video game publisher? Visit www.gamethoughts.com

[edited by - mtaber on October 22, 2002 1:30:03 PM]

Share this post


Link to post
Share on other sites
quote:
Original post by mrhollow
I have never used SourceSafe, so couldn''t say for certain, but it''s my understanding that SourceSafe is limited to VisualStudio type projects. Again, I have no direct experience, so that''s only hearsay.



Actually, SourceSafe comes with an SDK so application writers can access it. For instance, some Java IDE''s support it (I used it with Symantec Visual Cafe once). But portable? no. It Windows only, while CVS is truely multiplatform.



Share this post


Link to post
Share on other sites
quote:
Original post by mrhollow
It makes great sense for people developing on more than one machine, or across different platforms, windows, linux, etc...



Thats a good point as well. Especially with the branching abilities, as it would be easy to develop different areas (for different platforms) from one base.



The Tyr project is here.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
If you''ve got the cash, Clearcase the pretty much the strongest versioning system I''ve ever run across.

Does everything CVS does and more, with a better interface.

Share this post


Link to post
Share on other sites
Also take a quick look at Subversion, which although not as mature a project as CVS has many touted advantages. Check it out here.


Don''t listen to me. I''ve had too much coffee.

Share this post


Link to post
Share on other sites
I wouldn''t dream of doing any non-trivial project without source control anymore - whether alone or with others. I used to use CVS, but now I mostly use Subversion.



Faith. n. Belief without evidence in what is told by one who speaks without knowledge, of things without parallel. -- Ambrose Bierce

Share this post


Link to post
Share on other sites
I''m curious--I''ve never actually used Subversion. What have your experiences with it been? In what ways is it superior to CVS?


Don''t listen to me. I''ve had too much coffee.

Share this post


Link to post
Share on other sites
It''s not really revolutionary compared to CVS - it''s mainly a lot of small things(and CVS was pretty good to begin with). Improvements over CVS:
- It versions directory trees, not just individual files
- You can rename files and directories(not really possible in CVS, unless you could access the raw repository files. This, for me, is the real showstopper with CVS) with full history.
- It''s designed from the ground upto be client-server - CVS used to be a set of shell scripts for RCS that got gradually rewritten in C, with network support tacked on.
- SVN won''t let you commit a conflicted file.
- SVN is more intelligent when it comes to binary files
- Branches and tags are very straightforward in SVN(or so they say - I never did a branch in CVS)



Faith. n. Belief without evidence in what is told by one who speaks without knowledge, of things without parallel. -- Ambrose Bierce

Share this post


Link to post
Share on other sites