|
Get TFS. I agree it's overkill for small teams, but given your microsoft only constraint and the fact that VSS is slated to be obsolete in 2011, you might as well bite the bullet and get TFS. I admit, it's not the easiest beast to learn (especially coming from SVN), but if schedule 2 weeks for learning as part of the upgrade, you'll become a master.
|
|
|
|
|
PMFBI but I can offer some thoughts as one who manages a small development team, and has used TFS and VSS for several years. We use VS2008 Team System for developing and maintaining a fairly large project (>1million lines of C# code) and VSS for maintaining 'legacy' projects, because that's where they started off.
TFS brings much more than source control. On that feature alone it is far superior to VSS (I can't speak for CVS, SVN etc because I haven't used them). In my experience VSS is fine for smaller projects, and where you can ensure that only one developer at a time ever works on a file. With a big project that is often inconvenient and not easy to regulate (and why should you have to?) and TFS's far superior checkin/merge facility helps manage that relatively safely. Given the chance, of the two I would use TFS source control for any non-trivial project employing more than one developer.
TFS also brings programmed testing (MSTest unit testing and we also use Selenium), test code-coverage, integrated bug and task tracking, integration with Sharepoint for project documentation control and publishing, and the biggie for me is automated builds. It took us a while to get to where we are today, but I wouldn't be without our CI and nightly build/test/document process. Several times a day and every morning I get an email confirming that all is well, or early warning that something has unexpectedly broken. It's not perfect because you can never have enough tests, but I sleep much better at night as a result.
That is not to say that TFS and VS20008 are without their problems. Check-in merges (and branch merges) can get confused and you have to keep your eye on the ball when you do it, but you do get the option to select individual differences if you want complete control. I have found that frequent 'gets' to keep the local copy up to date together with frequent check-ins of changes is a good way to proceed with multiple developers on the project. In other words don't let server and local code drift too far apart, to keep the risk small. The bug/task tracking facilities could be usefully improved (reporting, especially, is a bit clunky - was it designed by the office junior?). VS2008 itself struggles with largish applications and can often 'lose' the various tools such as call-stack, watch windows etc, which for no apparent reason will be blank panes. Frequent restarts of VS2008 are essential, we find, to correct this. It seems to be a memory thing, and we are at the 4Gb limit already on our workstations, with dual core processors. In this respect it's a typical MS beast, sad to say.
TFS lacks the ability to insert version history into the source code in the way that VSS can, but frankly, I've never missed that and find the code is neater without endless pages of check-in history comments. The separate check-in history viewer that VS2008 makes available seems, to me, to be quite elegant, especially as it is integrated with changesets so you can easily see and view all the changes that were made, as a group, and you can do this from a bug report too, drill down and see all the code changes that relate to that particular fix. Neat.
TFS itself can be very slow at times - again for no apparent reason, even though we have a dedicated server which is, in network terms, practically in the same room. Some or all of these shortcomings may have been addressed in VS2010 Team System - upgrading isn't an option for us, given the huge cost, so I haven't bothered investigating.
But for all that I would say it's much superior to VSS for source control, and brings a lot of extras that, once you have them, you would probably never wish to be without.
I have to say I find it sad that your university is restricting you to proprietary software (or so your remarks suggest). You'd think they would be gagging to save money wherever they can. Have the suits truly taken over the asylum?
HTH
Neil
(Disclaimer: this was written in my personal capacity and does not necessarily reflect the views of my employers)
|
|
|
|
|
I'd strongly urge looking at other (often free) alternatives like Subversion.
Subversion has strong support in Windows - Tortoise SVN provides explorer shell integration and Ankh SVN provides Visual Studio integration.
|
|
|
|
|
I'll second the vote for SVN. My limited exposure to TFS is that it attempts to incorporate source control in the karma of the large team. If you only have a few developers, it's serious overkill.
<ducking> - am I wrong?
Read about VSS' limitations. Sometimes they won't hurt you.
Charlie Gilley
<italic>You're going to tell me what I want to know, or I'm going to beat you to death in your own house.
"Where liberty dwells, there is my country." B. Franklin, 1783
|
|
|
|
|
Perhaps you didn't read the OP closely enough,
"And before any one suggest a different version control software package, that is not an option."
Your answer is a useless waste of time.
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
Your answer is deep seated bile and you deserve the dark fate that awaits all those who refuse logical thought as the basis of decisions with long term consequences.
|
|
|
|
|
But SVN is free. I can't see how any kind of licensing agreement could forbid you from using free stuff.
|
|
|
|
|
Free doesn't mean it won't cost. Some organizations don't allow these tools because of the maintenance and support headaches that come along with them, often a dedicated resource is maintained to support these "free" tools. Some don't allow open source because of security restrictions. Further still some organizations are locked into an agreement where by they get discounts on other products for using another from that vendor.
Your comment is very naive. Free isn't always better or the answer to everything.
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
Your comment is a strawman. I never said it was better or the answer to everything. I am just suggesting that it is probably not against any license agreements to use SVN. And if it is, I would seriously reconsider said agreement.
I don't know anything about the security restrictions at the OP's university. I do know that SVN is approved for use where I work, which has an extremely restrictive security policy (Government related). I thought your original flaming comment and a 1 vote was quite the over-reaction for what seemed to be a legitimate attempt to help. In the context of the OP's post (selective quoting notwithstanding), sugesting an open source, free alternative wasn't a "useless waste of time".
I have used VSS and SVN. I like them both and find they have very similar features.
|
|
|
|
|
Rick Shaub wrote: I am just suggesting that it is probably not against any license agreements to use SVN
Of course using open source is not against any license agreement, it would be illegal. However, vendors do push for exclusive contracts that prohibit the use of other tools. You again appear naive in relation to such matters.
Rick Shaub wrote: I don't know anything about the security restrictions at the OP's university.
Then you really can't comment and a reference to your organization is an irrelevant attempt at self-importance.
Rick Shaub wrote: sugesting an open source, free alternative wasn't a "useless waste of time".
When the OP expressly stated using another tool was out of the question, then yes, suggesting one is a waste of time. Since the response did not provide any useful information and did not comply with the OP's request is was a bad answer and the vote is justified.
Thanks for playing. Run along now.
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
|
Insult? What insult? In addition to being naive you are also very thin skinned.
The childish down-voting is not welcome here either.
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
|
Rick Shaub wrote: Your answer is a useless waste of time.
Not an insult. A statement of opinion.
Voting is welcomed and appreciated. Childish, retaliatory down voting is not.
Now, again, run along and let the adults talk.
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
|
|
... and continuing to argue about this point is an even bigger waste of time.
|
|
|
|
|
If you have the budget now, get TFS while you can. And make sure you get future maintenance in the recurring budget.
TFS supports a full Process. Investigate how you can adapt existing processes to TFS or simply adopt one of Microsoft's supported processes.
Subversion can always be tried at a later date.
It is more of a straight version control. You will have to integrate/adapt your processes to work with Subversion.
If you are at a University, you probably have a hodge podge of systems.
You might end up deploying Subversion on some unix box.
|
|
|
|
|
As he said, he needs to stick to MS solutions. FWIW, where I worked changed from VSS 6 to SVN, and SVN sucks. While I can use it, and have to, it is nowhere near as productive (i.e. less time consuming) as VSS2005. SVN seems to me to be an almost-there solution that was written for C programmers who each reside in their bunkers with nothing else to do but write code in vi or some other text editor.
I'd recommend VSS2005 at a minimum, perhaps while implementing and learning TFS to replace it.
|
|
|
|
|
Hi,
TFS comes with VS2010 when you buy an MSDN subscription (from Professional with MSDN upwards), which is a really good way of getting your hands on all this stuff... Look at the volume licensing though - far better value than retail!
Have a look at the charts here to see what you get: http://msdn.microsoft.com/en-gb/subscriptions/subscriptionschart.aspx[^]
Cheers,
Rob.
|
|
|
|
|
TFS also provides change control management with project templates supporting Agile development, and quite recently Scrum specifically. TFS requires SQL Server and to get the maximum benefit from TFS, especially to support change control, will require Analysis Services and Reporting Services, and if available, Sharepoint. TFS goes a long way to fully supporting ALM.
We have recently moved our source control from Subversion to TFS, and as well as moving change control to TFS with our upgrade of our MSDN subscription to VS 2010. We were pleasantly surprised at the capability of TFS.
|
|
|
|
|
|
Hi all,
How would I find out if a resource is localized for a given culture?
E.g.: For ResourceManager.GetString(String, CultureInfo) "if the resource is not localized for this culture, the lookup will fall back using the current thread's Parent property, stopping after looking in the neutral culture." (From MSDN)
But I don't want it to fall-back or look in neutral cultures, is there a way I could get a value returned if the resource is simply not localized?
|
|
|
|
|
What would you expect to be returned if the value hasn't been localized? I'm confused as to your requirements here.
"WPF has many lovers. It's a veritable porn star!" - Josh Smith As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.
My blog | My articles | MoXAML PowerToys | Onyx
|
|
|
|
|
null or an empty string, perhaps? I need to know that resource is not localized. I don't want to get an alternative from another language returned.
|
|
|
|
|