Before I get going on my Framework Series, I needed to have a way for people to get the code, branch it, play with it and fork it in way I don't expect them to.
I mean, this is THE WHOLE POINT OF MEF, extend in ways in which you cannot predict when you initially design your App.
I have been using Subversion for years and know for a fact (from multiple personal experiences) that branching and merging can cause tremendous pain for you. So I did not want to use SVN. This means basically I needed another SCM System.
I see only two viable alternatives, Mercurial (Hg) and Git. Git is cool, but it's also pretty complex and doesn't run very well yet on Windows which is my primary audience, so we are left with Mercurial.
Joel Spolsky says:
Learn Mercurial, trust Mercurial, and figure out how to do things the Mercurial way, and you will move an entire generation ahead in source code control. While your competitors are busy taking a week to resolve all the merge conflicts they got when a vendor updated a library, you’re going to type hg merge and say to yourself, “Oh gosh, that’s cool, it just worked.”
So who am I to argue with that. I'm not, in fact I agree with it whole heartedly.
- Get Mercurial Here or Here with Explorer Integration
- Learn how to use it Here
- and Integrate with Visual Studio using VisualHg Here or using HgSCC Here
The more I work with Mercurial the more I really love it.
I see an Ag Issue Tracker with Hg integration in my future, maybe "Mg" :-)