My normal work flow to create a new repository with subversion is to create a new repos, do a checkout of the repos root, create my branches tags and trunk folders and place in the trunk my initial files. Then I do a commit of this ‘initial import’, delete the checked out repos from my hard drive and do a checkout of the trunk. Then I can start working.
However, when dealing with a large import, think hundreds of megs, and off-site version control hosting (http based) this initial import can take quite a while to commit. What’s worse, after committing I need to checkout this massive trunk all over again.
Is there a way with subversion to use the local copy of the trunk without doing a checkout all over again of data that is already there?
There is – it’s called an ‘in-place import’, and it’s covered in the Subversion FAQ here:
http://subversion.tigris.org/faq.html#in-place-import
What you’re really doing is creating a new empty project in the repository, checking out the empty project your local folder – which turns your folder into a working copy – and then adding all your (existing) files to that ’empty’ project, so they’re added to the repository when you do an svn commit.