Using the linux command line and subversion, is it possible to take a directory and add version control to it? Basically, I want to import the directory into a newly created repo, but also have the directory be a working copy without having to check it out.
lets say you've used svnadmin to create a repo at /svn/foo/mydirname, and you want to version control /home/user/mydirname. (is that what you mean?)
then do the following:
cd /home/user/mydirname
svn co file:///svn/foo/mydirname #this only creates the ".svn" folder for version control
svn add ./* #tell svn you want to version control all files in this dir
svn ci #check the files in
you directory is now version controlled!
Yes, you can import an existing directory (with contents) into an svn repository, and use the current location as your version controlled working copy. Go at it as follows:
suppose your (un-versioned) project sources are in /home/user/projectx, and your repository is ready at file:///svnrepo
first, create an empty directory somewhere outside of your project tree, say, /tmp/empty. Import that empty directory in your subversion repository.
cd /tmp/empty
svn import . file:///svnrepo/projectx
go into your populated project directory. Now checkout the repository location you created in step 1.
cd /home/user/projectx
svn checkout file:///svnrepo/projectx .
This will add the .svn files to your populated project directory, but it will not do anything else, so your existing files are safe.
Next, add the directory with your files to the repository
svn add *
svn commit -m 'initial commit'
Done.