As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 12 years ago.
I am considering getting VSS and was wondering what were people's thoughts on it in particular?
It's well-known to corrupt data. There are many better alternatives. If you need to match the feature-set and GUI, check out Vault from SourceGear. Free alternatives are numerous --- from the ubiquitous svn to the more modern (distributed) git, mercurial, etc.
Also, TFS is the MS replacement -- if you want MS tools, at least use TFS.
Jeff Atwood has a nice post: Anything But SourceSafe
There is no excuse for using VSS when there are other solutions such as SVN, Git and Mercurial which are better both in terms of reliability and use more modern approach then VSS.
My thoughts:
AHHHHHHHHHRHRHRHGGGEHAGTJH##$#!&#&$!&###!##%^##$%
No. Seriously.
Before I knew how evil it was (newbie dev), I used it. Then, it corrupted an entire project I was working on. What a pile of garbage.
Use Subversion, Git, or Mercurial...for your own sanity.
Microsoft is pushing Team Foundation Server (TFS) as a replacement for VSS. VSS does offer the simplicity of a file based system, but you will spend a good amount of time repairing the database every so often. TFS is a much more reliable server based system. Visual Studio 2010 comes with a client license and a up to 5 person server license of TFS. You are better off putting your money there.
TFS Costs.
Because the question is a license/price issue, you can call 1-800-426-9400, Monday through Friday, 6:00 A.M. to 6:00 P.M. (Pacific Time) to speak directly to a Microsoft licensing specialist, and you can get more detail information from there.
Use TFS, Perforce, or maybe git.
Even if SourceSafe wasn't extremely dangerous to use (corruption, mentioned already)... just having file versions for source control really sucks. It's almost unbelievable that this type of source control is still widely used.
You want changeset or task-based source control. You'll want to easily know what files went into a specific change... not just a bunch of independently incrementing file numbers.
Perforce is VERY fast, and I'm very happy with it.
I use TFS for one major client, and it's been pretty good too. At the time I set up Perforce, TFS required a Server OS and license for that somewhere. I didn't want to have to set up yet another VM, so I went with Perforce.
I'd still easily choose Perforce today, though. That's mostly because I work with multiple platforms. As the main Perforce GUI client uses Qt, it looks and works the same on any OS.
VSS might be the right answer for some situations (e.g.: small group of devs using visual studio, not generally doing concurrent dev, fault tolerant env. (back-ups), etc.). I think the more important question is how your version control fits into your overall dev & release process. VSS and git are conceptually very different things in some very important ways and how your SDLC works is an important aspect of choosing a control system.
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
We are evaluating CI environments, there are a number out there:
TeamCity, Go, CCnet, BuildForge, TeamBuild, FinalBuilder Pro, Visual Studio Team System.
I'm having the most difficulty evaluating CCnet vs. Go
What are the pros/cons of each against one another?
Lucas,
First, the word of warning - I work for a vendor in this space (Urbancode - the AnthillPro guys). [/disclaimer]
I think it depends on what you're really trying to get out of the tool and it's hard to guess based on your selected tools. You have free tools, cheap tools, moderate tools, and expensive ones in your list. If you're looking to create a build infrastructure for a big enterprise, the expensive guys are more appropriate whereas if you're setting up just a team level system, open source may be fine.
Aside from scalability, perhaps the biggest difference between tools like Go (and AnthillPro for the matter) and CC.Net is what you're looking to do with them when the build is done. If after the build, all you do is send an email, a basic, team level CI system can be a good fit. If instead, you want to deploy it to one test environment, either system may suffice. If you want to deploy a build through six test environments, get some approvals, and then deploy to production with full audit trails the whole way through, something like CC.Net just isn't going to cut it. You're looking at the Go's, BuildForges, and Anthill's of the world.
Things like integrations are a big deal as well - the tool has to work with the other tools you use.
Eric's answer is very interesting.
In our company, we use CC.net for CI and Deployment. BUT, cc.net is just a tool to manage every other tool that is used in our builds (mostly msbuild but also sql deployments, nunit, iis management...). Thus, we can't say that cc.net takes care of the deployment tasks, it just launch a msbuild script that does the job and aggregate logs to the user-friendly dashboard.
I would add that if you look for a global CI tool (CI + build scripts + deployments) you can forget about cc.net. But if you have knowledge in msbuild, NAnt or any build/scripting language you can use it. The latter's advantage is that your build are reusable, if you change your CI tool you can still use them, if you do a TFS build script, I'm not sure whether you can use it with another tool...
Things we do with CC.net + MsBuild :
basic builds
nightly builds
windows service deployments
huge website deployments
As for Go, I never tried it, sorry. You can think about Hudson (even for .Net) too.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Coming from a UNIX background, with some knowledge of CVS and git, I have gotten my Windows development skills up in just about every area. But I still have no idea if there is a single VCS that Windows devs "have" to know.
Is there one used above all others?
The makers of FinalBuilder used to do a survey every year of their (mostly Windows-based) customers. I can't find anything more recent than their 2008 survey, but here's what it looked like then.
As you can see, there isn't just one you have to know. However, you'd be a fool not to familiarize yourself with Subverion and Sourcesafe.
If I were to predict how it has changed since then, I'd guess that Subversion has added users, SourceSafe has lost a bit of ground to Team Foundation, and that Git now shows up, but with only minor numbers.
TortoiseSVN (svn) has tight integration with explorer, and most devs I know that run Windows and use subversion also use Tortoise.
Not really specific to Windows I think, but Subversion (SVN) is a must.
Short answer, is SVN.
For free:
CVS is pretty much dead.
Subversion has the best integration with windows (explorer, visual studio, eclipse, command line, WebDAV, etc...) it also has GUI's for other platforms.
With Git you're relegated to use the command line exclusively.
Not Free:
Perforce is okay, but whatever you do, don't use Visual Sourcesafe and risk your entire repository getting corrupted at some point in time and not realizing it until much later.
Yes, TortioseSVN runs quite well on windows. There's also a Tortoise for git! Though I am not too sure if it's as easy as its SVN cousin.
https://tortoisegit.org/
In general, the same types of source control that you use on UNIX may also be used on windows. There are certainly ones to avoid on windows - VSS immediately comes to mind.
Before DVCS, all the cool kids used SVN; everyone else used VSS or TFS.
DVCS is turning into an interesting competition as Git clearly has the edge in functionality but Mercurial has the edge in Windows integration. Poor Bazaar doesn't seem to be getting a look in.
VisualSVN ties into VS as well and uses TortoiseSVN for a backend. It's $50 per license iirc. Works pretty well. If you're looking for a good tie-in with Visual Studio also check out AnkSVN.
We use msys-git quite successfully on windows. The GUI tools are not great. I use the command-line and it works fine. My colleagues use git-extensions which integrate into visual studio. It seems to work ok.
The other option to me would be SVN. It has great windows support.
I would agree: Subversion. But I an quite sure, it will be succeeded by git some day.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Given I'm:
a solo developer using VS2008 Professional
looking for Microsoft-produced source control (I'm aware there are alternatives)
looking to get away from Visual SourceSafe 2005
Is it correct that my only option is to drop ~$8k on Visual Studio Team System 2008 Development Edition ($5,469) + Team Foundation Server ($2,799) - in order to get the TFS version control component?
Reading the answers to other related questions it looks like routes to bringing the TFS price down is to either become a Microsoft Gold Certified partner or to take advantage of the ISV Empower program. I'd welcome any comments related to these options.
The top non-Microsoft solution looks to be Subversion + VisualSVN, but I'd really like to go the all-Microsoft route if I can possibly swing it.
The reason that I'd like to go all-Microsoft is that it's my preference to first try the stock solution, and then later try the alternatives with the benefit of that experience. Also, I've had the rare positive experience with SourceSafe. Or, maybe I'm just a closet MS fanboy. :-)
Also, does the picture change at all when VS2010 comes out?
Thanks!
P.S. I'm downloading VisualSVN now to give that a shot since there's no reason not to.
If you qualify for BizSpark, that comes with TFS.
Given you are an independent developer, and although I fully understand you wish to go the full-on Microsoft route, I can't stress highly enough that using one over the other won't mean as much to you at this point.
When I started using Source Control, I used VSS... much like many others on this site. After about 4 months, I quickly realized that there were many issues with it (namely, that it corrupted every 10 days or so, and that it caused my machine to lag horribly.)
I switched over to SVN and I do have to admit, I'm quite happy with the outcome. When you build your devleopment team to 2,3,4,5... then look into the expense. You'll find that you can get the same affect of Team Suite if you integrate SVN with something like fogbugz, or look at something like CodeSpaces
If you are a solo developer you might not need to go the TFS way. As the product name suggests it is for teams. I suggest take a dive into source control systems like Subversion + TortoiseSVN or Mercurial + TortoiseHg. You could even use a web based source control if it fits your needs, sometime like Launchpad.net
If you would say why you are so hip on getting it from Microsoft, we might better be able to help you?
Give SVN a try. Look at TortoiseSVN, AnkhSVN, and Visual SVN.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
We're thinking of switching to SVN at my work, so I was wondering about SVN plugins for VS2008 (and 2010 when it comes out). After a bit of research I found AnkhSVN and VisualSVN, the 2 that seemed most dominant. (I am aware of TortoiseSVN and will use the plugin in conjunction with it).
I am aware that this has been asked before, but these questions were asked almost a year ago and we all know that a lot of things can change in a year.
The question: From your experience, which is better and why?
Granted, it has been a year since I've used each product head-to-head, but my current preference is AnkhSVN. Though folks grumbled about early versions of AnkhSVN, 2.0 was a near rewrite of the original and is now a full Source Control Provider Integration Package rather than a Visual Studio Add-In. With commercial backing from CollabNet and renewed open source enthusiasm, AnkhSVN 2.0 deserves a chance.
My two favorite features of AnkhSVN are it is free and I love the Pending Changes window.
As for VisualSVN, I find it to be sluggish and I feel it leverages TortoiseSVN rather than handling the file management itself far too often. And it costs money (albeit a small amount.)
Again, this is based on my last head-to-head test which was about 1 year ago. As already stated, TortoiseSVN is great on it's own, but if you really want to plug into the VS IDE, give AnkhSVN a whirl before VisualSVN. Best of luck.
I have tried both of the VS plugins...after several months of use I quickly realized that I spent ALL of my time in Tortoise! The plugins don't get all of my trunk related items. They only work with items that are part of the solution and that VS recognizes. For this reason I spent pretty much all of my time in Tortoise...and eventually all of my time. There is no reason to pay for plugins when Toroise is both free and updated almost daily.
Stick with Tortoise and learn how to use it. You will be happier in the end.
Responses:
#jeroenh: "... There really is an advantage of using a (properly integrated) VS plugin, namely when moving/renaming files in your solution. ..."
I agree that renaming/moving files in Tortoise is clumsy. And VisualSVN does make this easier.
#Darko Z: "on a personal level I agree, but on an organisational level I don't. We have a few people here that NEED VS integration. Yeah its silly but fair enough :)"
Yes, I have several people like that in my current team. And training them to get used to Tortoise has been a Bear! They are the reason that we got some licenses for VisualSVN..but they complained about that too.
I had the same dilemma as well a few months ago, and finally decided to go with VisualSVN. We've been using it for 4 months for C# inhouse web application development and our experience has been positive.
Firstly, the server part integrates with Active Directory and offers an easy to use MMC control for managing the repositories.
Secondly, the client part integrates with VS2008, doesn't slow down Visual Studio loading times, and works with pretty trivial color codes (green for untouched files, yellow for files you changed). It features full revision diff's, you can comment every revision.
One down side is that its supports for hooks (like post-commit hooks) is very rudimentary.
You can view statistics like who made the most commits, etc. It supports branches although we don't use those features. All client-server communication is done through SSL (keys and certificates are configured automatically).
I asked them a question at some point about how to delete the branch history from the Visual Studio dropdown, and their support answered that I simply needed to delete the .suo file (efficient customer service)
Finally, my experience from working with VisualSVN: simple and straightforward for our relatively small team. (we're 5 programmers, but I'm pretty sure this scales a lot more than that).
I use VisualSVN at the moment, and it's great as it auto-adds any new files to the SVN and allows easy revert and diff without having to open an explorer window. However, you will still need to use TortoiseSVN for files not in your Visual Studio solution.
Last time I used AnkhSVN it didn't work too well and screwed my SVN checkout up (but this was a couple years ago).
I have used both and prefer Visual SVN (as of v3.0.4) because of its integration with Tortoise SVN which I already use and am quite familiar with. Because of this familiarity and VisualSVN's integration with it I prefer it a bit more.
I believe there is argument that AnkhSVN (as of v2.4.11610) has more features integrated into VS.NET, but it is working with it's own dialog windows and prompts which are not hard to get used to, but again I liked the functionality and familiarity of Tortoise SVN.
Also since all of my shop uses Tortoise SVN via Windows Explorer, the transition to Visual SVN ins't such a big deal other than adding the nice integration directly into VS.NET. I suffered none of the pitfalls commented in the other posts here (most are from 3-4 years ago it seems) when I used VisualSVN over the last 30 days.
So here is what I say: if you are a heavy user of Tortoise SVN and like how it works, go with VisualSVN. If you are new to Subversion and really don't care, then going with the free AnkhSVN with its additional integrated features is probably the way to go.
That question you asked boils down to personal preference but I would advise you to have IN ADDITION to the ide client either Tortoise SVN or the command line client. You will often be forced into positions where the IDE client cannot perform the task you need.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
Background: I'm a windows developer at MegaCorp(tm) and I am getting new hardware soon.
Question: Are there best practices around setting up my developer software installs?
Details: I've got my main IDE (Visual Studio/SQL Management Studio), but there are also tools that I'm testing out, additional tools I can't live without, and future accomodations.
All my code is stored on a remote server in SourceSafe so I don't need to really accommodate for that, but I'll regularly jump into perl/python/php for separate/side tasks.
The only advice I can give you is set up your machine in a way you need it and you can work with and then save an image so that you can return to that state easily.
Also, don't forget to go and get all your SysInternals goodies. Oh, also remember to export your rss feeds before you upgrade.
You should also install the Windows SDK (which usually doesn't come with VS), as there are many useful tools there that can help during development.
If you plan to use .NET, look into Reflector and LINQPad.
If you plan to use ASP.NET or do any web development at all, look into Fiddler and Firebug
Use a VM image, then the project has a VM image that is version controlled.
Tools and OS are recoverable years later.
Your name will shine on asa voice of sanity and configuration management.
Get rid of SourceSafe
Seriously, don't store anything in SourceSafe. There are many other, better Version Management Systems out there. What's wrong with SourceSafe? I strongly urge you to consider reading the following posts:
http://www.codinghorror.com/blog/archives/000660.html
http://www.highprogrammer.com/alan/windev/sourcesafe.html
http://www.developsense.com/testing/VSSDefects.html
Especially the last one - it goes into lots of detail about the problems with VisualSourceSafe. What should you use instead? Wikipedia has a great comparison of many different Version Management Systems for you to compare. You can look here to find out which ones integrate nicely with Visual Studio.
vim - VI Improved
Beyond Compare - best diff tool.
If you use multiple machines (like
one for dev one for test)
Synergy is invaluable.
If you occasionally need to edit
icons Paint.NET is pretty good.
As everyone else says kill source safe.
I have to agree regarding SourceSafe, whether or not you have the ability to opt-out of using it or not will obviously affect your ability to addopt a new SCM tool but if you can I highly recommenf the free VisualSVN Server for managing subversion and / or hosting repositories.
If you are prepared to pay for the licence you can also buy the VisualSVN plugin for visual studio, as a student I can't afford that but I have used AnkhSVN which integrates with VS through the source control provider APIs providing a nice native looking interface in VS 08
Other tools I can't live without:
TestDriven.NET
DocProject for easy generation of MSDN-style code documentation. I believe it uses sandcastle to do the real work but sandcastle itself is difficult to use and this is the most sane UI over it I've seen and managed to get working without massive amounts of work.
Paint.NET for graphics work
TortoiseSVN is another really good SVN client that I use for doing things like merging to trunk because I am more familiar with the interface and I think it's nicer than AnkhSVN in some areas