Simplest (and fastest) server, which you can use for work with local repository, embedded into every svn-client. This is server for accessing any repository and any amount of repositories, existing on local filesystem, using protocol file:///. It doesn't provide any authorization or authentication methods, grant only full unlimited access to repository under control, but, from other side, it allows to use and gives all features of VCS-system per se.
In order to use this server, you have in any empty directory in any location call CLI-command svnadmin with the corresponding subcommand and parameters (I can't recall, are there administrative programs in the CLI-client bundle or not and can't check it - I haven't installed CLI svn-client, only TortoiseSVN, which have these programs in installer in version 1.7) - I hope, you'll be able to find it.
svnadmin help
show us all available subcommands, we are now interested in subcommand create
.
svnadmin help create
provide all needed for us details
create: usage: svnadmin create REPOS_PATH
Create a new, empty repository at REPOS_PATH.
Valid options:
...
At starting point for first repo we can ignore all fine-tune options and remember only main form svnadmin create REPOS_PATH
, there REPOS_PATH is absolute or relative path to empty directory, planned for repo. Because most time ordinary Windows-people for cross-platform application may people may be confused, which notation (forward- or backslashes) to use in path (metoo), the safest way is cd
to location, from which our dir is visible without long path - parent of future repo-directory or the directory itself.
For planned for repo z:\Main
before svnadmin create
Z:
cd \Main
and, at last,
svnadmin create .
As result we get created empty repository in directory, which shown in Windows Explorer with special icon as content-indicator

Now, every time when this repository is needed, we use usual SVN-commands, there URL-part or parameters seems as file:///Z:/Main
c:\>svn ls file:///Z:/Main
branches/
tags/
trunk/
(I added standard repository tree in repo).
Let's dissect this strange URL:
file:///
, as for any URL, means access-protocol, in our case protocol is special, and have three, not two slashes
Z:/Main
is full path to repo with drive and path inside drive, there all Windows-backslashes replaced by "classic" forward-slashes
From any other point this repository haven't any differences from "Big Brothers" with special Subversion-servers

necessary
- I'd recomment git (or hg) over svn because setup is easier, adding collaborators in the future is easier, and it makes more workflows possible. I'd really question whether svn is "necessary" vs a DVCS - it has very few advantages. – Daenyth Mar 29 '12 at 20:29