views:

123

answers:

4

Somewhat stuck trying to find a newer/better SCC system for my employer. My personal darling is SVN as it's compatible across a good swath of machines and relatively fast, but with past/present experience, it's not as friendly/easy to do branching.

The needs assessment is as follows:

  1. Must be easy to use (CVS is considered easy)
  2. Branches must be first class citizens
  3. Prefer a mechanism like SVN's external property for repositories
  4. Must be multiple OS friendly (linux, unix, Mac, MS Windows)
  5. Proprietary/Commercial might be all right depending on license costs

Git is out as an option as some of the machines are running Vista and it's been a nightmare getting any developer tool to function with some sense of stability on that OS.

I'm also looking at Mercurial but not sure yet if it's going to work right for how the company operates.

+1  A: 

SVN is much easier with branching now that mergeinfo properties have been implemented (since v1.5). You just branch and merge away, and it remembers which revisions of which branches have been merged where.

Obviously I'm being a little blasé, but it does make svn worth another look if branching was your main issue with it. No longer do you have to keep text files around with notes on which trunk revisions you've merged into your branch. You just say "merge trunk". Then, you can "reintegrate" a branch automatically

Although it's worth noticing that you need to upgrade your svn server to 1.5 for this to work, the clients are backwards compatible with older servers, but you won't get the new functions. Back up your repo just before you upgrade, obviously.

Oh, and I believe 1.6 is out now, so you may as well jump straight on that. Of course TortoiseSVN (and VisualSVN for Visual Studio users) goes along with it.

Neil Barnwell
David
Night and day, for sure. No longer do you have to keep text files around with notes on which trunk revisions you've merged into your branch. You just say "merge trunk". Then, you can "reintegrate" a branch automatically. Wonderful.
Neil Barnwell
Although it's worth noticing that you need to upgrade your svn server to 1.5 for this to work, the clients are backwards compatible with older servers, but you won't get the new functions. Back up your repo just before you upgrade, obviously.
Neil Barnwell
Oh, and I believe 1.6 is out now, so you may as well jump straight on that. Of course TortoiseSVN (and VisualSVN for Visual Studio users) goes along with it.
Neil Barnwell
@Neil might just try a svnadmin dump on a pet project repo and try it out
David
The client startup went under, but if they hadn't then I would have re-adopted SVN for their codebase.
David
+1  A: 

My company uses Perforce and I've had a reasonable time with branches, and integrating changes between branches. It will even let you integrate between files that didn't share the same root, if you absolutely insist on it.

Caleb Huitt - cjhuitt
I've heard of Perforce before but only briefly, I've been a OSS snob for the last decade.
David
A: 

Using TortoiseSVN (and likely many other clients as well that I have no experience with), creating branches is a piece of cake, and merging them with other branches or back into the trunk is only slightly more difficult. If you have not tried branching/merging since 1.5, then SVN definitely warrants another look!

KOGI
+3  A: 

I'm biased here, but take a look at Plastic SCM. It's easy to use (much easier than CVS) and it's all about branching.

If you're looking at Mercurial or GIT, maybe you're interested in distributed, aren't you? If so, plastic is still an option since, AFAIK, is the only distributed commercial one together with BitKeeper.

pablo