Jump to content
  • Advertisement

Archived

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

meng_mao

source control software

This topic is 5478 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

We''re considering which source control package to use for our two programmer project. What are the main points about Perforce and SourceSafe?

Share this post


Link to post
Share on other sites
Advertisement
Guest Anonymous Poster
CVS is free.

Share this post


Link to post
Share on other sites
The best source control software I have ever seen is FreeVCS. It is free, and beats every other source control software package I''ve tried (SourceSafe, MKS, CVS). I''ve used it for about a year now with a few other people and so far we only have positive comments about it.

I don''t know much about Perforce, so I can''t really tell you about it. We decided against SourceSafe because it cannot be used over the internet (you need a share, and once you share your project over the internet it is EXTREMELY slow. It really needs a network connection). CVS just plain sucks in my opinion. Aside from an idiotic "no locking" system and putting garbage into directories, FreeVCS is superior because it can store your code in a normal database if you have one (or use it''s internal database engine if you don''t).

This post probably sounds like I am affiliated with FreeVCS in some way, but I am not. It''s just a wonderful piece of software that I enjoy using every day, and I suggest you to at least evaluate it for a day or two. You''ll never want to go back.

-------------

Intellect Consulting

Share this post


Link to post
Share on other sites
SourceSafe:

+ Fairly low cost
+ Good UI
+ Good label support
- Difficult to add multiple files
- Can have problems once database gets over 10Gb (prior to 6.0c)
- Back up often, because database can corrupt easily

Perforce:

+ Difficult to impossible to corrupt.
+ Handles large databases easily.
+ Transactional changelists make synching easy.
- Not very low cost once you start adding more and more people
- Primarily command-line, and commands occasionally can make no sense
- Bandwidth hog
- Poor label support

I''ve used both, so my personal opinion: use SourceSafe if your team is under 10 people; use Perforce otherwise.

RomSteady - I play games for a living.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
SourceSafe will eat your files. Guaranteed. Don''t go there.

Perforce has a free two-person trial. If you''re two persons, you could use that. I''ve worked at two companies that have both transitioned from CVS to P4 to be able to scale up, and one that went from SourceSafe to P4.

For good alternatives, I do NOT recommend CVS, as it doesn''t scale, and doesn''t have transactional changelist commit semantics. Perforce manages to (barely) clear that bar.

Other free options include:

BitKeeper -- you can use it free for opensource, if you''re willing to let your changelogs live on a public server. Pretty reasonable, if you ask me. Scales well. I''ve never actually used it, but the next time I need to check out a source control system, I''ll check this one out!

Subversion -- free, open source. Runs inside Apache (uses mod_dav) on the server side. Transactional semantics. Still in development. I''ve been using a development version for about 9 months, and it''s about as good as Perforce for the things I use it for (which are not huge). Which reminds me: I need to upgrade to some later version.

Share this post


Link to post
Share on other sites
In addition to what is above, I would summarize with the following:

Perforce:
+ great support for merging of branches
+ has a plugin for Word docs
- most common operations are time-consuming
- expensive
- GUI is clunky and complex

CVS:
+ minimal interface allows you to spend more time coding
+ conflicts are easy to manage
+ WinCVS quickly shows you which files were changed and which were added
+ free
+ many different front-ends answer different user needs
+ cross-platform
- branch support is ganky at best

SourceSafe:
+ good tool integration
- Windows-only
- it WILL corrupt your data

I''ve found that the no-locking feature of CVS adds greatly to productivity. If you have a project where a dozen people all want to modify the same function in the same file, then you need to be smacked.

Share this post


Link to post
Share on other sites
An AP noted: "SourceSafe will eat your files. Guaranteed. Don''t go there."

I''d agree, depending.

If you''re looking for a dirt cheap solution, and you have a tiny team unlikely to be doing simultaneous checkins, it''s great. Integrates nicely (as assumed).

But three times I encountered weird compile errors, only to find that a file checked in was checked in corrupted -- a ~100 byte section was corrupted.

Luckily, the very first time it was near the beginning of the file, in the comment header, so I saw it when opening the file. The later two were worse. Only the fact that I knew what was supposed to be there and knew SourceSafe had corrupted things before helped me figure it out.

But worst case? I always zip up all of my current project onto a floppy and take it home at night. Four times so far I''ve been able to keep my teams productive when the repository has gone down (due to network problems or hardware problems -- SourceSafe once and StarTeam thrice (all network probs on the latter)). It always helps to be proactive.

(StarTeam also occasionally hiccups and produces two identically named files in the same subcir. Odd. You end up having to just delete one, sometimes losing the checkin history. Bleah! So I guess I can''t recommend it either...)

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!