Version Control with Subversion - Adding Projects - Creating the Layout, and Importing Initial Data
Creating the Layout, and Importing Initial Data
After deciding how to arrange the projects in your
repository, you'll probably want to actually populate the
repository with that layout and with initial project data.
There are a couple of ways to do this in Subversion. You
could use the
svn mkdir
command (see
Chapter 9, Subversion Complete Reference
) to create each directory in your
skeletal repository layout, one-by-one. A quicker way to
accomplish the same task is to use the
svn
import
command (see
the section called “
svn import
”). By first creating the layout
in a temporary location on your drive, you can import the
whole layout tree into the repository in a single
commit:
$ mkdir tmpdir
$ cd tmpdir
$ mkdir projectA
$ mkdir projectA/trunk
$ mkdir projectA/branches
$ mkdir projectA/tags
$ mkdir projectB
$ mkdir projectB/trunk
$ mkdir projectB/branches
$ mkdir projectB/tags
…
$ svn import . file:///path/to/repos --message 'Initial repository layout'
Adding projectA
Adding projectA/trunk
Adding projectA/branches
Adding projectA/tags
Adding projectB
Adding projectB/trunk
Adding projectB/branches
Adding projectB/tags
…
Committed revision 1.
$ cd ..
$ rm -rf tmpdir
$
You can verify the results of the import by running the
svn list
command:
$ svn list --verbose file:///path/to/repos
1 harry May 08 21:48 projectA/
1 harry May 08 21:48 projectB/
…
$
Once you have your skeletal layout in place, you can begin
importing actual project data into your repository, if any
such data exists yet. Once again, there are several ways to
do this. You could use the
svn import
command. You could checkout a working copy from your new
repository, move and arrange project data inside the working
copy, and use the
svn add
and
svn
commit
commands. But once we start talking about
such things, we're no longer discussing repository
administration. If you aren't already familiar with the
svn
client program, see
Chapter 3, Guided Tour
.
[an error occurred while processing this directive]
|