A Subversion repository is a central place to store files and directories that are under revision control, as well as additional data such as a complete history of changes or information about who made those changes and when. A typical Subversion repository stores multiple projects in separate subdirectories. When publicly accessible, it allows several developers to create a working copy of any of the subdirectories, make changes, and share these changes with others by committing them back to the repository.
Initializing an Empty Repository
To create a new, empty Subversion repository in a directory of your choice, run the following command:
Note that path is an absolute or relative path to the directory in which you want to store the repository (for example,
/var/svn/). If the directory does not exist,
svnadmin create creates it for you.
Example 1.4. Initializing a new Subversion repository
To create an empty Subversion repository in the
~/svn/ directory, type:
svnadmin create svn
Importing Data to a Repository
To put an existing project under revision control, run the following command:
import local_path svn_repository/remote_path [
-m "commit message"]
Note that local_path is an absolute or relative path to the directory in which you keep the project (use
. for the current working directory), svn_repository is a URL of the Subversion repository, and remote_path is the target directory in the Subversion repository (for example,
Example 1.5. Importing a project to a Subversion repository
Imagine that the directory with your project has the following contents:
AUTHORS doc INSTALL LICENSE Makefile README src TODO
Also imagine that you have an empty Subversion repository in
~/svn/ (in this example,
/home/john/svn/). To import the project under
project/trunk in this repository, type:
svn import myproject file:///home/john/svn/project/trunk -m "Initial import."