I've yet to find one that fit my personal requirements.
- GitHub is maybe the most interesting in features but I can't use it because I'm using Mercurial.
- BitBucket isn't as useful as GitHub but at least it now provide both Mercurial and Git repositories. It also allow private repos for free.
- Google Code is a good alternative to BitBucket but require a google account (that's not a problem for me but maybe for others). It's ticket tracking system is simple and sometimes too simple for some needs. I like the fact that you can manage several repos in the same projects.
- Sourceforge is just too slow and full of ads.
What I'd like to see, would be a project hosting software that allow :
- Repository-tool agnostic. As in git-svn-mercurial-bazaar-etc-agnostic. That's the most important thing.
- Excellent permanent code-review tools. (github - google code also have some code review tools but they are not as good in my short experience)
- Excellent patch/changesets management tools (github : I mean that to work with a lot of people sending patches, tools to manage, review, process patches, thoses tools have to be provided).
- Allow sub-projects (instead of just a "component" field in the tickets ...).
- Allow several repos per project (Google Code does, Redmine and Trac now manage several repos by projects so providers could use them)
- Allow to setup a specific ticket workflow. (In some way it's doable in Google Code at least but there is no way to limit different transitions of tickets)
- Free for open-source project (with a not-annying size limit - most current hosting tools provide this)
For the moment, I didnt' found a perfect solution. I'm using Google Code most of the time because I use Mercurial and it's the one that provide me the most interesting features. It's still far from what I think would be perfect.
Also, note that an agnostic project hosting service would allow easily ignore the problems when you want to have dependencies from several libraries all using different repository tools.
UPDATE : Google Code now provide Git repos and is more and more matching this list. That said, I don't know about others so feel free to point me if things change in other tools.
UPDATE : BitBucket now provide Git support too. I wish Github would provide Mercurial and Bazaar support. Bitbucket have now an advantage for git users : it allows private repos.