Anyone use Visual Source Safe

AndyHui

Administrator Emeritus<br>Elite Member<br>AT FAQ M
Oct 9, 1999
13,141
17
81
Anyone use MS VSS6?

I'm evaluating it for company use, and so far it seems like a steaming pile of crap. Unfortunately, using Merant PVCS is out of the question at this present time.

Any problems, experiences, thoughts?

Thanks.
 

Skyclad1uhm1

Lifer
Aug 10, 2001
11,383
87
91
We use it here, and as long as you don't have too high demands it's kinda ok. We had a problem with stuff on a NetWare 4.11 server when using the 4.83 NetWare client, until we found the patch for that on the Novell site.

If files get corrupted it's pretty much impossible to find out what to restore, as they don't get very clear names. And don't forget to exclude the whole database from virusscans, as you will quickly have directories with tens of thousands files if you use it a lot.
 

Whitecloak

Diamond Member
May 4, 2001
6,074
2
0
its ok for minimal version control and management. clearcase is much better but you need powerful machines for running.

in my team, we use vss for unofficial day-to-day version control and clearcase/clearquest for the official stuff.
 

AndyHui

Administrator Emeritus<br>Elite Member<br>AT FAQ M
Oct 9, 1999
13,141
17
81
What about server resources?

I won't need a powerful machine, will I? I was thinking some Pentium III, 512MB of RAM and 40GB or so in RAID5 (yes, our company sucks). It doesn't need a whole heap of processing power, does it?
 

Skyclad1uhm1

Lifer
Aug 10, 2001
11,383
87
91
Originally posted by: AndyHui
What about server resources?

I won't need a powerful machine, will I? I was thinking some Pentium III, 512MB of RAM and 40GB or so in RAID5 (yes, our company sucks). It doesn't need a whole heap of processing power, does it?

Don't need that much, as you don't really run a server application. It's just a matter of opening files on the network with the clients. A fast file server wouldn't hurt though (which is why it's still on a NetWare server here, 200MHz Pentium Pro with 192MB RAM and the usage doesn't get all that high with several people working in it at the same time :p )
 

Whitecloak

Diamond Member
May 4, 2001
6,074
2
0
i suppose those specs will be overkill for a vss server. it depends on the number of concurrent connections though.

one thing, I can definitely tell you is that clearcase will not run on that machine. my pc (client) is far more powerful but it gets screwed when connecting to clearcase.
 

AndyHui

Administrator Emeritus<br>Elite Member<br>AT FAQ M
Oct 9, 1999
13,141
17
81
OK. Thanks for the pointers. I've got a couple of Pentium Pro servers which are due to be available soon, but these are about to die. I can probably revise my requirements downwards then.

Anything else? I've got a project meeting in 10 mins....:p
 

Skyclad1uhm1

Lifer
Aug 10, 2001
11,383
87
91
Tell users not to copy the whole database while the rest is working :p

(Had someone do that here lately, that will keep the server busy a while. Told him to do start that up when going home instead.)
 

AndyHui

Administrator Emeritus<br>Elite Member<br>AT FAQ M
Oct 9, 1999
13,141
17
81
Originally posted by: Skyclad1uhm1
Tell users not to copy the whole database while the rest is working :p
Er...why not?

[edit]ahh....ok.

 

Originally posted by: AndyHui
Anyone use MS VSS6?
I'm evaluating it for company use, and so far it seems like a steaming pile of crap. Unfortunately, using Merant PVCS is out of the question at this present time.
I have used it for years. It is pretty horrible overall. The good part about it is that it is very simple to use. I never had a problem with it bombing on me or losing any data. It also integrates well with Microsoft products. It really sucks over the network, horrible perfomance.

I looked at a tons of other options for my company a while back. I looked at PVCS and a couple of others. None are as cheap as VSS. We finally just went with CVS. It's pretty easy to setup but a bitch for our junior developers to get the hang of, esp when they have been using VSS for so long.



 

nord1899

Platinum Member
Jun 18, 2001
2,444
0
0
Personally I dislike VSS on the whole, not just a particular version of it.

It lacks so much fuctionality that a good source control system needs it makes it practically worthless. Heck, even MS doesn't use it for any of their real products, or thats what I've heard. For a serious project that involves thousands of files and is used by more than a few people, its not a good source control system.

What it lacks:
1. Atomicity at the change level, not the file level. That is, a change usually involves more than one file. But it is practically impossible to determine all the files changed at one time with VSS.
2. Lack of command line tools. One thing I am required to do when submitting changes to the code, is send an e-mail listing all the files changed and what was changed in those files to all the developers for code review. Its real fun doing point-click diffs for more than 2 or 3 files, trust me. With command line tools, I could set up regex to do it. And sometimes using the GUI just takes so much more time than a command line.
3. Integration to other Visual components. Some people really like this, I hate it. I don't know what it is, either my computer, the network or the server VSS runs on, but when I bring up VC++ with a few hundred files, it takes about 20-30 minutes for it to finish "updating source control files". Got to the point where I forced VC++ to not look at VSS.

Check out Bitkeeper. Its what they use to store the Linux kernel these days. Its not free or open source, so its got to be damn good for that group to use it.

I've tried CVS and its okay. It still lacks the Atomicity feature that I consider essential.
 

AndyHui

Administrator Emeritus<br>Elite Member<br>AT FAQ M
Oct 9, 1999
13,141
17
81
Great information. Thanks.

How about the sharing and branching? How useful is that, along with the merging? I noticed that pinning is only available on an individual file basis and not for an entire project.

Still trying to figure out if using this thing is really going to make source code management better.
 

AndyHui

Administrator Emeritus<br>Elite Member<br>AT FAQ M
Oct 9, 1999
13,141
17
81
We had NO source code control.

Except the managers yelling at the programmers. :p

Well, so far our projects have been relatively small with a total of 10 programmers and a maximum of about 4 working on a project at any one time. It's fairly easy to keep track of who does what, and most of our programs are designed such that work assigned to programmers generally results in very little conflict.

We are about to take up some fairly major projects with more than double the existing number of programmers, so we need some form of source code control. Management is really set on using VSS, so I really need as much information regarding real world experiences and any tips.

I've done a bit of looking at VSS....I want to know what others think of it.
 

nord1899

Platinum Member
Jun 18, 2001
2,444
0
0
Well in that case, it might be best to use a free source control at first. Something like CVS. Just to see how well everyone can work with it, how much it affects day-to-day work, etc... Also, it will give you something of a base on which to judge other source controls that actually cost money. Just have to be careful not to stick with CVS just cuz its free if it doesn't work the way you want it to.

Just my 2 cents here.
 

charrison

Lifer
Oct 13, 1999
17,033
1
81
Originally posted by: nord1899
Personally I dislike VSS on the whole, not just a particular version of it.

What it lacks:
1. Atomicity at the change level, not the file level. That is, a change usually involves more than one file. But it is practically impossible to determine all the files changed at one time with VSS.

I wont disagree, but you can always use labels :(

2. Lack of command line tools. One thing I am required to do when submitting changes to the code, is send an e-mail listing all the files changed and what was changed in those files to all the developers for code review. Its real fun doing point-click diffs for more than 2 or 3 files, trust me. With command line tools, I could set up regex to do it. And sometimes using the GUI just takes so much more time than a command line.

It has got em. I have built automated build scripts using source safe.

3. Integration to other Visual components. Some people really like this, I hate it. I don't know what it is, either my computer, the network or the server VSS runs on, but when I bring up VC++ with a few hundred files, it takes about 20-30 minutes for it to finish "updating source control files". Got to the point where I forced VC++ to not look at VSS.

Never had an issue with speed. Might try just loading the files using the SS client.



 

AndyHui

Administrator Emeritus<br>Elite Member<br>AT FAQ M
Oct 9, 1999
13,141
17
81
Thanks charrison. Any other points worth bringing up?
 

nord1899

Platinum Member
Jun 18, 2001
2,444
0
0
Charrison I have had the IT group at my office look over the VSS slowness. No one can figure it out.

And putting labels down on every change? Whoa, now thats crazy.

And I haven't found the command line tools that let me do things like this:
- Diff more than one file, and not necessarily in the same directory, of the version in SS and the version on my hdd. And then send this output to a file.
- Submit more than one file, again not necessarily in the same directory, all at one time.

One thing I wish it had was a state other than checked in or checked out. And in house source control that I used to use had three states for the files: checked in, opened, and reserved. Only when reserved could you submit the files. But you could open the files, which gave you write access, and the source control would keep track of them. But its not as harsh as checking out/reserving.

And I'm sorry, the most important thing is that atomicity of changes. Without it, any source control system is subpar.
 

tgillitzr

Golden Member
Mar 10, 2000
1,399
0
0
We use it at the company I work for.

I don't have any issues with it, but then I am only a user of it.

We probably have 50,000 files stored in it, if not more. We use it to keep track of client files. We have numerous files that are custom to every client and use VSS to keep track of them. We have about 3,000 clients.

PM me if you have any questions...
 

tgillitzr

Golden Member
Mar 10, 2000
1,399
0
0
Originally posted by: nord1899
Charrison I have had the IT group at my office look over the VSS slowness. No one can figure it out.

And putting labels down on every change? Whoa, now thats crazy.

And I haven't found the command line tools that let me do things like this:
- Diff more than one file, and not necessarily in the same directory, of the version in SS and the version on my hdd. And then send this output to a file.
- Submit more than one file, again not necessarily in the same directory, all at one time.

One thing I wish it had was a state other than checked in or checked out. And in house source control that I used to use had three states for the files: checked in, opened, and reserved. Only when reserved could you submit the files. But you could open the files, which gave you write access, and the source control would keep track of them. But its not as harsh as checking out/reserving.

And I'm sorry, the most important thing is that atomicity of changes. Without it, any source control system is subpar.

Nord, we put notes in for every version checked in.... i don't see how that is a large issue.
 

nord1899

Platinum Member
Jun 18, 2001
2,444
0
0
Originally posted by: tgillitzr
Originally posted by: nord1899
Charrison I have had the IT group at my office look over the VSS slowness. No one can figure it out.

And putting labels down on every change? Whoa, now thats crazy.

And I haven't found the command line tools that let me do things like this:
- Diff more than one file, and not necessarily in the same directory, of the version in SS and the version on my hdd. And then send this output to a file.
- Submit more than one file, again not necessarily in the same directory, all at one time.

One thing I wish it had was a state other than checked in or checked out. And in house source control that I used to use had three states for the files: checked in, opened, and reserved. Only when reserved could you submit the files. But you could open the files, which gave you write access, and the source control would keep track of them. But its not as harsh as checking out/reserving.

And I'm sorry, the most important thing is that atomicity of changes. Without it, any source control system is subpar.

Nord, we put notes in for every version checked in.... i don't see how that is a large issue.

Let me put it this way. I am making a huge change to the source code. It involves a bunch of files, lets say 20. Those 20 files happen to be in 4 different folders. I make the submission. Now say I screwed things up horribly and we need to back it out. At this point there would be three ways to do this, only 2 with VSS though:
1. Using the change number, roll back the files. Not possible in VSS.
2. Do a history, see all the files modified by me at a certain time. Roll those back.
3. If you are keeping track of changes elsewhere, say in a code review, refer to that to get all the files so you can roll them back.

Of course other examples apply here. Like integrating the change into another code branch/tree. Someone only grabbing that change from the source control to update it.

Now I put in comments in the change section. I work in support, where I write patches and bug fixes, so its second nature to me. But our developers didn't do this (and I scream at them occasionaly to make sure they do now). So figuring out what changes do what and what files were modified is a PITA.

EDIT: nevermind the last part about the user bit. Misread your post.