Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I introduced Mercurial to my department. I love it, but it is my first version control experience. I am using it with NetBeans PHP for web development.

Another developer who works on internal company applications likes using Visual Source Safe and does not want to switch. He works in a Visual Studio environment.

All the other developers have bought into Mercurial except this one. For the most part though, we all work pretty independently.

I am trying to move this department in the right direction, I have set everyone up with an account on Kiln, I was hoping to get everyone using Fogbugz down the road as well (since there is currently no bug database being maintained.) I have never used VSS but I hear very bad things about it.

Would it be better to just allow him to continue using VSS if that's what he prefers, or would it be in best interest to get him on board with Mercurial?

share|improve this question
You might find… interesting. – user1249 Apr 25 '11 at 17:59
One developer using his own private VCS sounds dangerously close to one developer who's code is not properly being backed up. You're doing (off site!) backups of your Mercurial repository, I hope. That covers all but one of you. Are you doing the same for the VSS repository? If something goes wrong with those backups, would anyone notice? Etc. – derobert Apr 25 '11 at 22:15
Its like a developer wanting to sit on toilet seat for programming while the rest of the employees use chairs. – Hasan Khan Apr 26 '11 at 6:47
1 ;-) – vartec Apr 26 '11 at 10:57
Calm down people ('-') VSS is not that bad! I started off with VSS. While I no longer use VSS, I can't its as bad as people make it out to be (its not great either). Thought I put some kind of balance... – Darknight Apr 26 '11 at 11:31
up vote 50 down vote accepted

would it be better to just allow him to continue using vss if thats what he prefers

No. There is no point in running two different source management systems in parallel. That defies the very idea that all developers are connected to the same repository and take full advantages of it.

A single developer using a different system alone effectively isolates himself from the team. Even if projects do not cross, it is still a bad thing to do.

Doubled maintenance efforts for both systems is another argument here.

I think you should use your authority or escalate the issue to the management to quickly migrate the content from VSS to Mercurial and then shut VSS down.

P.S. Speaking of VSS, it is notorious for losing check-ins or otherwise damaging code when you least expect it. It does work but it regularly goes on the nerves. If you have a better alternative, avoid VSS.

share|improve this answer
NOBODY should use VSS under any circumstances. It's name is a lie. Nothing in VSS is Safe. – CaffGeek Apr 25 '11 at 17:48
Agree with this and would like to add something we've learned: There is no benefit in using VSS that is not quickly offset by the larger benefit of not using VSS. – Ben Hoffstein Apr 25 '11 at 17:48
+1 Thanks, thats what I thought too, just wanted others input before I made an issue of it. – JD Isaacks Apr 25 '11 at 18:02
@Ben: will do, and when people ask "Who's Hoffstein?" I'll glare at them and demand to know which rock they've hidden under for the last decade :) – Binary Worrier Apr 25 '11 at 19:39
Would you give the same answer if the team were using SourceSafe or TFS or SVN, and the rogue developer were using Git or Mercurial? – Kyralessa Oct 6 '11 at 16:16

In no way would I ever consider permitting a rogue developer to use a different source control system than the rest of the team.

Source control is not only so I can find previous versions of what I did but so others can find them (and current version) as well. This is non-negotiable. What happens when he leaves or gets run over by a bus and no one else has access to his code (which may even get overwritten by network admins when they wipe his machine, not knowing he had his own source control there?

I do make the assumption that his source control code may be only on his machine since no one else is using VSS.) A developer who would even suggest such a thing is not professional and it would make me suspicious of all his work. What doesn't he want the rest of you to see?

Also VSS is notoriously buggy. His code isn't even safe there.

share|improve this answer

Nobody should ever use VSS to begin with.

Tell your developer to get a Mercurial plugin for Visual Studio.

share|improve this answer
Do you have experience with said plugin? – user1249 Apr 26 '11 at 7:42
I've used it - it works fine. – MetalMikester Apr 26 '11 at 10:38
@Thorbjørn Ravn Andersen: No. We use subversion at work. – Dima Apr 26 '11 at 11:47
without an explanation, this answer may become useless in case if someone else posts an opposite opinion. For example, if someone posts a claim like "Everybody should be encouraged to use VSS to begin with. By all means, avoid using Mercurial plugin for Visual Studio.", how would this answer help reader to pick of two opposing opinions? Consider editing it into a better shape – gnat Sep 25 '13 at 10:58

Everyone should be on the same source management system. Also, your ultimate goal is to also get everyone on the same bug tracking system as well. You've done the right thing in finding a tightly integrated solution already.

If your having trouble getting them to switch, try approaching it from a career standpoint. If they work anywhere else going forward, that prospective employer will probably want to see some experience working with an integrated bug/source management application setup.

share|improve this answer
+1 but I'm not so sure that's a selling point; I've found far more companies that either had no idea what source control was, thought VSS was the be-all end-all of source control, or used source control poorly than the ones that want to see an integrated setup. Hell most of the ones I've seen didn't even use bug tracking apps, or had some in-house "task system" that was extremely basic. – Wayne M Apr 25 '11 at 19:56
+1 to your comment. I'm seeing the world through rose coloured glasses and jobs posted on Stack Careers again. You're right. Even our shop didn't have that stuff until the team I work with started barking for it about 4 years ago. – Mat Nadrofsky Apr 27 '11 at 12:38

Going to echo what others have said, in that it's bad to allow him to use VSS and not Mercurial. However, let me play Devil's Advocate and say that you can let it slide if, and only if, he still commits to Mercurial so that others can access his work if necessary. There is IMO nothing wrong with using your preferred tools as long as you don't prevent others from accessing work they might need. Of course, VSS is garbage so it shouldn't be used no matter what :)

For instance, I work at a company that uses SVN but doesn't have the repository set up properly (no branches/tags/trunk, everything is just thrown under one repository) and this causes some issues that nobody knows how to fix. I wouldn't see an issue in my case if I used, say, Git locally but still used git-svn to push my stuff out to SVN so the rest of the team has it. Does that make sense?

share|improve this answer
Yes that makes sense, but you should also consider enlightening your teammates of the benefits of Git over SVN – JD Isaacks Apr 25 '11 at 19:56
Agreed 100%, and believe me I would try but they are kind of.. set in their ways. I'll put it this way.. they write .NET 3.5 as though it was .NET 1.1; no LINQ, no new features, not even Generics. We have some guys who were/are actually trying to get us to switch from SVN to VSS, touting VSS as better (unfortunately one of them is the development manager, but fortunately we haven't gone that route... yet). – Wayne M Apr 25 '11 at 19:58
You should get him to search for "VSS" here on I think that would scare him off... – awe Apr 26 '11 at 13:12

It is not good to have one developer using a different source control tool. One purpose of using source control is to improve the teamwork. And he is breaking this rule and may cause a lot of trouble later, although you work pretty independently recently. Ask him why he prefers VSS and tell him the disadvantages of working this way.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.