Before SVN installation and starting work, you have to learn some special terms which you will come across in your work. Let us get acquainted with them according to their importance.
Repository
Repository is a place for storing data that are under control. Mind that they are not the data you work with on your disk. More often the repository is located on a server. The repository itself is a folder on the disk (more often - on the server disc) having specific structure and storing files of special types.
SVNURL
SVNURL is a string of a special format specifying the address of the repository which you connect to. SVNURL has the following format:
(protocol)://(servername)/(path)
- (protocol) is a way of connecting to SVN server.
- file - the repository is located in a local or network file system.
- svn - native (internal) protocol realized by the svnserve daemon.
- svn+ssh - the same as svn, but with access through the SSH (Secure Shell). Allows to transmit encoded data.
- http - protocol enabling access to SVN services through the apache web server. In this case SVN is an apache module. Its advantage over svn protocol is data transferring according to standard http-protocol and absence of problems with firewalls.
- https - similar to http, but with encoded data transmission.
- (servername) - a server name for client-server protocols. For the file protocol it is empty, and SVNURL looks like file:///(path_on_local). That is, SVNURL contains 3 slashes one after another.
- (path) - a path at the server or at the local disk.
Examples of correct SVNURLs:
- file:///C:/svn/repository - local repository
- svn://local.pushok.com/svn - remote repository
Module
Roughly, module is a folder inside the repository. But in SVN developers' conception this notion is absent. A folder inside the repository is already contained in SVNURL as (path). However, in practice this division is not convenient. Thus, further the term SVNURL will imply the path to the root folder of the repository (or a certain project). And 'module' will be the path within the repository with respect to SVNURL.
The point of fact is that if there existed any limitation on the quantity of repositories at one server, there would be no sense in introduction of the 'module' notion. But in practice two SVNURLs, "svn://server/svn" and ""svn://server/svn/myrepository", can refer to two different repositories. That is, the second can be an independent repository with its own settings, but not a folder within the first one.