I went into the same question like a year ago. My partner and I run a small consultant company and most of the code was written by myself (he is on the sales team). At some point, the number of projects increased and we noticed it was not only the code we have to care about; there are a lot of things you need to handle (documents, workflows, continous integration, testing, source control, etc) and the best choice you make here, the less headache will be on the near future.
I knew Jira from another job as being a very productive bug tracking system. It is scrum based, but even if scrum is not your thing, it is a great tool to work with. You keep track of every bug, task, new feature and such from one centralized web application and, it can be used either licensed or on a monthly payment basis. Big companies trust Jira for their development, so, why shouldn't small ones do? Taking into account the cost of Jira on demand is now less than an average development cost. For me, this was a no-brainer.
Jira comes with lots of plugins, some are cheap, some are not, some are given at no cost at all. One of those plugings we are using is Fisheye, which is a source control repository compatible with SVN. As of now, we store on Fisheye 7 projects with many thousands of line code. Never had an issue with the Atlassian guys, and their support (jira based of course) totally rocks.
Sharepoint is a great tool as well, but it is not focused for development. It is a CMS, easy to use, but for different porpouses.
Give Jira a try, there are free trials, I'm sure it will fit your needs. Cheers.