Source control / Version control

I know that this is not a TMS component question, in particular, but since the TMS components are our primary 3rd party components, I thought that I would give it a go and ask other users as well as the TMS guys for some advice on this.

How do you (or how would you recommend to) use a source control system, when it comes to TMS components? 

- Do you import the TMS components to the repository, or do you just install the components on the build machine(s) / development machines?

- How do you manage different versions of the TMS components? (On different projects / application versions)

- How do you install the components (if they are in the repository)?

You could create a repository folder and install the TMS Component Pack sources into this folder and after install, commit the update.