VSC: how to make a project fit for svn or indeed any version control

I can't remember where I found it now, there was a file somewhere that
listed all the files in a project. It had
absolute paths which filled me with dread as it means a
project's not going to be portable from one machine to
another - and especially not across different operating systems.
What's the technique here for ensuring that you can create a project
that you can check in to svn or
indeed any version control system and be sure,
like you could with good old SES, that it was easy
for a project to be portable please?
It also concerns me that these projects references loads
of files that are in SDKs and that everything
will have to be installed in exactly the same place on all systems.
This, I know from experience, can
cause all sorts of headaches.
Ideally there would be a way to create a project with
all the relevant files copied across to a directory and its
subdirectories which could be easily added to a repository.
Thanks.
Related