I'd like to increase developers' "comfort level" in our team a bit.
We are using Visual Studio 2008 and TortoiseCVS + WinCVS, but no integration as of yet.
In your CVS/Visual Studio experience, what is the best integration tool in terms of "supports basic CVS functionality add/diff/update/commit/annotate/etc", "works out of the box", almost "bug-free"?
a) commercial
b) free or open source
Edit:
There are 2 commercial MSSCCI bridge solutions I've found so far: PushOk.com and TamTam (daveswebsite.com). Both were developed quite a long time ago and now have only minor updates. Being MSSCCI bridges, they are somewhat limited in functionality and can not provide all the nice features of vsPackage SCC provider, but are probably better than nothing.
You might be stuck with one of those MSSCCI bridges you mentioned. As it is, not too many people still use CVS, especially those using Visual Studio (most of them seem to use Team System's revision control, or Subversion).
There's always the possibility of hacking together your own macros to take care of CVS operations, but this has the disadvantage of not giving you real, in-depth integration the way a an SCC provider, or even an old brige, would.
I don't know about CVS, but if going to SVN is an option, there's always Ankh.
Ankh is a open source choice
http://ankhsvn.open.collab.net/
Related
We are in the midst of transitioning from asp, vbscript, SQL Server 2000, to asp.net mvc, sql server 2008.
When we were using classic asp, we could use Dreamweaver to lock access to a file on the network so that developers and designers wouldn't overwrite each other's changes when saving.
Is there an equivalent feature in Visual Studio 2010? Or, are there other techniques to accomplish this?
There most definitely are techniques to accomplish this.
Based on the upgrade, it sounds like the team is moving forward. Maybe that means business is good, maybe that means the team is growing or will grow, etc. In any event, and even if it's just a single developer, file locking to prevent overwriting each other's changes is no solution at all. Proper source control should always be used.
Visual Studio has support for TFS, naturally, but there are plugins for other (free) systems. SVN is a good one to get started. (Though, personally, I don't like IDE integration of source control. I prefer to see it as a file operation and not a code operation, and therefore prefer the Tortoise revision control clients for their Windows Explorer integration.)
You will almost certainly want to transition to a proper version control system.
Subversion is very popular and works well for most. TortoiseSVN is an extremely useful Explorer extension to make Subversion easy to use. There are also plugins for development environments. VisualSVN (not free) and AnkhSVN both integrate Subversion into Visual Studio.
Git & Mercurial are also very popular. Both are designed with distributed teams more in mind. They work largely the same as Subversion, but each version control system has slightly different "best practices" when it comes to work flow, particularly around branching and merging.
#quakkels: Go for TFS. I deeply hate it, but it will be easier for you.
SVN is for geeks, and GIT is for alpha-geeks (or for wanabes like me).
I am the sole .net developer for a small company. My projects span many .net technologies including WinForms, WPF, SQL, XNA, Linq, WCF, WTF?, and others.
I struggle staying on top of all these projects so I'm looking to make my life easier with the release of VS2010. Without a mentor I rely heavily on StackOverflow and whatever else Google comes up with. Should I convince my company to get an edition with an MSDN subscription? Is it one of those things where once you have it, you can't imagine life without it?
What about the source control that comes with VS2010, do you all find it better than an SVN server?
We're looking to hire another programmer this year, would I be best off getting a Team edition of VS2010 to be best prepared for that hire?
Thanks!
If you want "Intellitrace" (aka "historical debugging") you'll need Ultimate.
Similarly Premium and Professional incrementally have fewer features. Any other these, or some combination could be the deciding factor. There is a comparison on the product pages.
Also, consider the value of an MSDN Subscription, getting you access to OSs, servers and tools for development and test (and one instance of Office for general use).
Even as a sole developer you should still be using source control (unless it is VSS :-)), whether SVN, GIT, TFS, ... all the paid editions will give you integration. ALM (application lifecycle management) like TFS will do source code control (SCM or VCS) as well as work item tracking (defects, feastrues) and much more. VS paid editions + MSDN include TFS (and you can run it on a Workstation -- server OS only no longer).
In my opinion if you are being employed professionally as a developer in the MS platform, VS Pro + MSDN is a minimum (otherwise ask yourself about the standard of employment), and really it should be VS Ultimate + MSDN. Compare the cost of employing you with the cost of the subscription (especially once on a VL program -- and you only need a single MSDN subscription to qualify for VL).
Visual Studio is a great product and I use it daily. Our level of MSDN subscription is Premium. This opens most of the doors in the MSDN library and I can't say I'm missing Ultimate. When Visual Studio was still RC and Beta we were developing in it (Ultimate) and things like IntelliTrace were nice to have features but were definitely not make or break.
I would advise against getting Visual Studio Premium because it is lacking in some of the features that I use extensively such as Code Coverage and static code analysis.
I'd have to say I can't imagine life without an MSDN subscription. It would be impossible to develop (and test) on the range of platforms necessary.
As for the source repositories we have been using TFS 2010 for the last few months and found that the seamless integration with Visual Studio is the huge selling point. The ability to check-in and out is only one aspect of the system. The ability to create build definitions, view build history and manage work items, all through the IDE, saves so much time.
If price becomes a problem there are always alternatives to Microsoft. If you want to use SVN there are SVN plugins such as VisualSVN and ankhsvn. You could then use something like CruiseControl.Net for builds.
Working as a single developer or in a small team I've usually found that any version of VS (except for Express) is ok, the Ultimate version do have some interesting things, but not anything essential for many developers.
I'd suggest that you (or your boss) look at the Microsoft Action Pack. They've got a new one for developers where you'll get 3 VS Pro licenses plus a bunch of OS and Server licenses (some of them only for development but some of them are valid for any employee I think).
In England it seems to be about £290 per year with the 15% discount that's on right now, so very cheap for what you get. There are some requirements, but if you develop software using MS Software you probably have a fairly high chance of qualifying:
https://partner.microsoft.com/40132997
Is there a fairly inexpensive source control product on the market that integrates into Visual Studio 2008+ and that has the power and capabilities of Visual Studio 2008 Team Foundation Server?
I have used Dynamsoft, SourceGear, Subversion and Platic SCM and reckon that neither of these products can come close to Team Foundation Server.
Ideally I would be interested in a product that:
handles conflict resolution well
handles IDE edits, renames and deletes automatically
easy project management within the source control "server" that allows a project administrator to painlessly manipulate the project structure as they see fit.
Subversion with Tortoise SVN
Here is an article by Rick Strahl on setting everything up.
I used svn at my last job, and tfs at my current one. I can't say I really like having to deal with tfs on a day to day basis.
SubVersion and AnkhSVN will integrate directly into Visual Studio.
Visual SVN is a tool to integrate SVN directly with Visual Studio.
(source: visualsvn.com)
It costs $49 per license.
They have a demo so you can see if it what you are looking for.
Actually, I've recently started using Team Foundation at work. Some of it is nice, but our team has spent at least 10 hours in total last week to fix silly TFS problems that never should have occurred in the first place.
While it isn't perfect, I find Subversion superior in many ways when it comes to plain source control. Get TortoiseSVN and shell out 50 bucks for VisualSVN if you want an integrated solution.
Personally I much prefer SourceGear Vault to SVN.
But it's hard to argue with free, and Vault is pretty expensive if you have more than 2 users.
Try visualsvn.
EDIT
Use VisualSvn as server (my bad, should have clarified I meant that), and as for the client, I used AnkhSVN, which got quite good over time.
From what I hear, VisualHg is a good Visual Studio addin for the Mercurial distributed source-control system. You just need to install TortoiseHg and then VisualHg, and you'll be up and running.
Well, you could use SVN in conjunction with bug tracking solutions such as Trac. There is a Trac Visual Studio plugin. There is also Redmine, though I don't know about its VS plugins.
If all you do is to "view, compare, attach changesets to work items and annotate", I guess bug tracking solutions are quite good.
What features of Team Foundation in particular are you interested in?
If you're just interested in Source Code Control, there are many plugins available for various other products. Subversion for instance has several plugins available which give a very similar experience to the Team Foundation plugin. AnkSVN is my personal favorite.
http://help.collab.net/topic/com.collabnet.anksvn.doc/concepts/ankh_whatis.html
We're going with Git but it probably doesn't have the integration with VS2008 you'd want.
Git manual: http://www.kernel.org/pub/software/scm/git/docs/user-manual.html
Mike,
If you are just looking for source control, the answer is yes.
If you are looking for an inexpensive replacement for everything that TFS does (build, test, project management, etc.) the answer is heck, no.
We've been using Visual Source Safe 6.0d for quite some time now, and it has served us well. However, upon attempting to upgrade to SourceSafe 2005, we discovered that it costs an arm and a leg! Additionally, it does not appear to be a painless upgrade. That said, we want a different solution that costs less money (preferrably free). As long as it has Visual Studio integration, it will work for us.
I've heard that SubVersion with the VisualSVN plugin is a good alternative. Anybody made this switch before? If so, how painful was it?
EDIT: We have a small group of developers, less than 10. We don't need to have source control over the web, it will just be internal.
I'm a big fan of VisualSVN Server + AnkhSVN VS Integration. It's an easy and free setup and so far has been very painless. TortoiseSVN as a shell integration is an awesome compliment and well I don't know if you could do without.
I have used SVN for quite some time now and loves it's tight integration with CruiseControl.net regarding automated builds. I had used Tortoise for so long that I was quite comfortable with it's explorer plugins. However, many of my team members couldn't quite grasp Tortoise and complained constantly. Then we purchased VisualSVN and got them plugged in on that. All the pain went away and they were quite happy after that.
WAY BETTER THAN SourceSafe.
Our shop tried SVN quite a while ago, but after the bugginess we had with it (constantly updating tortoiseSVN, lack of good branching, and some other issues), we started to evaluate other options.
We finally settled on http://www.plasticscm.com/ PlasticSCM, it has some features of git/mercurial as far as really flexible branching and merging goes, and it integrates flawlessly with Visual Studio. Even some of our team members who had only used SourceSafe had no problems with it, as opposed to SVN.
We too were long-time users of Visual SourceSafe 6, and made the switch about 6 months ago to VisualSVN / TortoiseSVN, and we've never looked back. The extra productivity and flexibility its given our team of 4 developers is massive.
There is some getting used to the concepts of branching and merging, but nothing that isn't covered in the Subversion documentation.
I've found that I often use the TortoiseSVN Windows Explorer integration for most tasks like updating and committing, but VisualSVN is nicely integrated with the IDE and worth the money.
VisualSVN also costs (50$ per seat iirc), you can use AnkhSVN which is free alongside VisualSVN server.
There are quite a few scripts people have written to migrate sourcesafe repo's into svn that retain history etc.
It is well worth the move.
If you want a XXI century tool for version control, maybe mercurial is the one for you, you'll have a distributed version control and you'll be able to choose among many options for the development and release cycle. You can install tortoisehg. The integration with Visual Studio can be done via visualhg. I blogged about that a time ago, I'm not able to put many links here yet, sorry.
With Mercurial you'll be able to use even outside your lan, there are plenty of options for publication and a central repository, or as I mentioned earlier, you can choose among many other aproximations for your source control.
Have you considered SourceGear Vault?
It will be a painless transition from VSS. They have a VSS plugin for Visual Studio, as well as a standalone client.
The SourceGear Vault pricing page will let you calculate license prices. For 10 users, it's averaging about $240 USD each.
My dev environment now consists of:
vc# express / v web dev express
NUnit
Tortoise for Subversion
SqlYog for MySql
Custom automated copy/paste deployment
I'd like to use:
TestDriven.NET (looked at pex too and it seems interesting)
VisualSVN or AnkhSVN
Not sure if VS will have integrated control of mysql.
Deployment projects
Just to make things quicker and easier on myself... but is it worth it to pay out the $250 for a VS license (note: my employer is footing the bill, but try not to let that alter your judgement too much).
Visual Studio 2008 Standard has everything a traditional developer needs.
I use Professional at work and Standard at home (which I bought with the Expression Studio package - damn good deal). Unless you're wanting multi-process stuff, Std is perfectly adequate. I have mine using Silverlight Tools, and it "talks to" Blend and VisualSVN (MUCH better than AnkhSVN) perfectly well. It works with database servers (but doesn't debug MS-SQL), I imagine you'd have to get a MySQL provider for this element to work - which I guess you'd need anyway if you're working in MySQL on .NET.
Since your employer is paying for it, I assume this is for business purposes. Therefore, the question is whether you're more valuable to him with VS 2008 standard or $250?
Assuming you're spending a lot of time developing, the answer is almost certainly yes. If you make $50,000 a year, spend half your time developing, and the standard version improves your efficiency by 1%, that's a one-year break-even. (Actually better than that; if you make $50K a year you cost your employer more like $70K-$100K, depending on circumstances and accounting.)
It's almost always worthwhile to buy good tools for your workers, and software development tools are usually very inexpensive compared to software tools for other professions.
If you were developing at home, it would be a more difficult and subjective question, but since you're programming to generate revenue for somebody it's a question of dollars, and the dollars are overwhelmingly in favor of spending the money.
Bear in mind that you can buy 'upgrade' editions of VS and upgrade from the Express versions (or even Eclipse). So the list price you'd be looking at is USD199, with the real price more like USD160.
Given that it's a price vs features trade-off, this might be useful.
My personal advice would be not to mess about with toy freebie editions if you're trying to earn money for yourself or anyone else.
It depends on the application you'll create. The express edition won't let you combine different projects of different type in one solution. With a Visual Studio Professional you'll be able to debug an assembly from a C# class with another project within your web application.
If your project need only to be in one type of language than express is ok.
But I agree, if you will make money, a license is the way to go.
Yes. Without at least VS Standard, you can't use all the cool add-ins that make Visual Studio so powerful.
The express versions also do not allow you to create windows services - I changed to professional and now I can do that. You can still do it in express, however, you have to set up the project manually and know a little bit more about what you are doing.
I'd suggest that you wait until VS 2010 comes out, as there are so many new improvements, like context sensitive help... was completely revamped. Hold in there!
I would suggest going the route of purchasing the VS license and then going out and getting reshaper from jetbrains.com
Reshaper has built in unit test, refactoring, code completion, templates, ...
along with that you could use AnkhSVN as it is free, personally I have not found Visual SVN is worth the cost at even $50.