• Home
  • Subversion Hosting
  • Documents
  • Contact Us
  • Members Login

Chapter 4. The Repository

No matter which protocol you use to access your repositories, you always need to create at least one repository. This can either be done with the Subversion command line client or with TortoiseSVN.

If you haven't created a Subversion repository yet, it's time to do that now.

Repository Creation

You can create a repository with the FSFS backend or with the old but stable Berkeley Database (BDB) format. The FSFS format is faster and it now works on network shares and Windows 98 without problems. The BDB format is more stable because it has been tested longer. Read Chapter 5, Repository Data-Stores in the SVN book for more information.

Creating a Repository with the Command Line Client

  1. Create an empty folder with the name SVN (e.g. D:\SVN\), which is used as root for all your repositories.

  2. Create another folder MyNewRepository inside D:\SVN\.

  3. Open the command prompt (or DOS-Box), change into D:\SVN\ and type

    svnadmin create --fs-type bdb MyNewRepository
    

    or

    svnadmin create --fs-type fsfs MyNewRepository
    

Now you've got a new repository located at D:\SVN\MyNewRepository.

Creating The Repository With TortoiseSVN

Figure 4.1. The TortoiseSVN menu for unversioned folders

The TortoiseSVN menu for unversioned folders
  1. Open the windows explorer

  2. Create a new folder and name it e.g. SVNRepository

  3. Right-click on the newly created folder and select TortoiseSVNCreate Repository here....

    A repository is then created inside the new folder. Don't edit those files yourself!!!. If you get any errors make sure that the folder is empty and not write protected.

Local Access to the Repository

To access your local repository you need the path to that folder. Just remember that Subversion expects all repository paths in the form file:///C:/SVNRepository/. Note the use of forward slashes throughout.

To access a repository located on a network share you can either use drive mapping, or you can use the UNC path. For UNC paths, the form is file://ServerName/path/to/repos/. Note that there are only 2 leading slashes here.

Prior to SVN 1.2, UNC paths had to be given in the more obscure form file:///\ServerName/path/to/repos. This form is still supported, but not recommended.

Warning

Do not create or access a Berkeley DB repository on a network share. It cannot exist on a remote filesystem. Not even if you have the network drive mapped to a drive letter. If you attempt to use Berkeley DB on a network share, the results are unpredictable - you may see mysterious errors right away, or it may be months before you discover that your repository database is subtly corrupted.

Tip

If you really need to access a repository through a network share, create the repository with fsfs format. If you need to provide server access as well, you will need Subversion Server 1.1 or higher.

All Plans Include

All plans free for 2008
Trac wiki linked to each repository
Online management tools
Access control lists (ALCs)
Read only or read write users
Secure HTTPS connections
Data mirrored onto backup servers
Disk usage reporting
Online invoices & payments
Unlimited support
Click for Free Subversion Hosting