I am given the charge of finding a version control + project management setup, and also training and maintenance, in addition to my regular jobs; I will be known as the git guy (or whatever) from now on.We develop PHP (in netbeans), C# (in VisStudio) and Python in windows XP and Fedora. The system is to be hosted on Windows. We are five-strong and may aggressively jump to 8-10 soonI myself shortlisted Mercurial + Redmine by rationalizing. My rationales are:Its easy to admin and maintaineasy to get started in Mercurial and has a gentle learning curveIt supports solo and few-people workflows equally wellMercurial has usable GUI toolsRedmine has a stable and integrated interface to Mercurial (TRAC is skirting around stable Mercurial support, making me nervous)Netbeans has stable and usable integration with Mercurial (I know Netbeans ships with Mercurial support but...)My questions (in order of importance) are:Are my rationales valid or will my assumptions lead to costly mistakes later?Does this combination have issues that severely affect usability?Are there less painful combination for our small team (SVN+Trac for example)?Some in SO have the opinion Just get started!, but I want to play it safe.
Getting started with version control and its integrated project management?
version control;mercurial;redmine
I agree to your optinion about Mercurial, we are using it as well for largely the same reasons.  But I want so say something about Redmine:When we evaluated bug trackers a year ago, I looked at Redmine as well.I really, really liked it (not only because of the fact that it has a good Mercurial integration as well) and I wanted to use it.   But the show-stopper for me was the fact that I have absolutely no experience/knowledge about Ruby on Rails/Apache/MySQL, neither has any of my co-workers (we are a Microsoft/.net shop, so only ASP.NET/IIS/MSSQL knowledge).Redmine even has a special Windows installation guide, but I wasn't able to get through the installation because of lack of RoR/Apache/MySql knowledge.So my opinion is: if you have to install something which does not come with a complete automatic setup, stick with something that is written in a stack that you understand. Because as soon as you have to have to tweak things manually, you probably need a certain amount of knowledge about the stack you're just using.Apperently quite a lot of people don't share my opinion (see most other answers in my second link), but I wanted to share my experiences about this with you.At least you should try if you are actually able to install Redmine before you sell it to management.