Edit: You should also exclude the Library folder from your VCS, because with metafiles enabled the Library is just a local cache.
The problem is that there is no method to build libraries and share them between multiple projects, since all the code needs to be under the Assets folder of each project. There is no support for classpaths.
If you update the code in one project, you have to copy the file to the other. Or have some equivalent method of doing so outside of Unity.
Prior to Unity 4, people were using symlinks to accomplish this, but Unity 4 disabled them on Windows to match the OS X behavior (this is described in the post I linked).
That's not quite true; they should split their commit so they don't span trees. But it's not a requirement, it just makes things a lot nicer.