Disclaimer: This is a subjective question. Please follow relevant guidelines.
I am considering the migration of source code from a traditional VCS to a DVCS. Since having a decent GUI web-based frontend and workflow tools are a must, the two obvious candidates are Bitbucket and Github.
Unfortunately I have no in-depth experience with either of them, so I’d really like to have a few second opinions before taking the dive. Especially welcome would be observations from a team/business perspective regarding day-to-day usage and features that have an impact on productivity.
What is Your experience with either of them? Any particular highlights or annoyances?
You really need to answer a basic question first. Do you want to use Mercurial or Git. I had to make this decision earlier this year. Mercurial was by far easier to setup and start using. I ultimately chose Git for the following reasons:
If your business might need complicated version control processes go with Git. The learning curve is steep but it will be easier to do what you really want at the end of the day. I will qualify what I mean by ‘steep’. The difference between teaching someone Mercurial vs. Git, is trying to get a Windows user to learn Linux command lines.
If you want a quick easy to use DVCS in which you think simple branching and versioning is all you will ever need, don’t kill yourself with Git, use Mercurial. But keep in mind most people you talk to in Mailing lists, IRC, etc. will have experience with Git not Mercurial.
If you plan on paying for GitHub or BitBucket, I suggest you also look at Kiln. FogCreek has made mercurial even easier.