views:

833

answers:

7

Hi all,

I'm trying to install subversion differently from the way it's installed currently. We currently have a networked computer that hosts a SVN repository. We access the repository through windows file sharing capabilities. Currently anyone can check out as many working copies as they want.

I was told by someone at work that we could install the "SVN server version" that would better manage who's checking out files and also we can cut the middle man windows file sharing guy in order to connect to SVN.

The problem is that I only see one subversion server download. It seems like what this guy told me can be done by just changing configuration and not a different installation. Does what this guy said make sense? It seems to me that there is just one version of SVN which we already have installed.

If it sounds like my question isn't clear, it's probably because I'm having a difficult time understanding what he means.

If anyone has some insight I'd like to hear about it.

Thanks in advance, jbu

+5  A: 

You can set it up so you can connect via HTTP or via Subversion's own SVN protocol, but other than authentication/authorisation, it doesn't make much difference how you connect - it certainly doesn't stop you taking multiple working copies.

If it's Windows you're running the server on, then Visual SVN Server is nice and easy to setup and use.

Steven Robbins
+2  A: 

You need to run svnserve as a service. You can easily create the service by running the following windows shell command:

sc create svnserve binpath= "
    \"C:\Program Files\Subversion\bin\svnserve.exe\"
    --service --root c:\PATH\TO\YOUR\REPOS" displayname= "Subversion" 
    depend= tcpip start= auto

Then, by editing the conf/svnserve.conf file in your repository, you can enable password authentication, allow (or forbid) anonymous checkout, and much more. There's more about this at the TortoiseSVN documentation.

Paul Fisher
I found that I had to specify the svnserve listen-host parameter on Windows 2008 R2 before I could connect to my server. I used 0.0.0.0 rather than specifying a specific IP address.
Robin M
+1  A: 

Assuming you are running on a windows box and not using samba on a linux box you could just install visualsvn server http://www.visualsvn.com/server/ which will start as up as a service (listening where you specify) for you automatically.

You could either just copy your repository to the default location or change the httpd.conf file in Program files\visualsvn\conf

Paul
A: 

You can install Apache2 on windows and add to it the SVN module from SVN web site.

Here is additional httpd.conf strings:

LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so

<IfModule dav_module> 
    LoadModule dav_svn_module modules/mod_dav_svn.so
    LoadModule authz_svn_module modules/mod_authz_svn.so
</IfModule>

<Location /svn>
    DAV svn
    SVNListParentPath on
    SVNParentPath "E:\SVN"
    AuthType Basic
    AuthName "Subversion repositories"
    AuthUserFile passwd
    Require valid-user
 </Location>

Before configuration you need to copy all dlls from SVN distro archive to /bin directory of Apache

abatishchev
A: 

You can download a BitNami Subversion Installer that is free and includes a step-by-step wizard. You have downloads for Windows, Mac, Linux. It will configure Apache so the repositories can be accessed through DAV as one of the posters mentions

Daniel Lopez
A: 

There is only one Subversion server, which can be accessed in different ways through different methods. If you can restrict access to a more or less secure section of network, svnserve should work OK; if you need more security, you can go into the web server installation. The SVN book has at least some details on installing everything.

The Subversion team warns that network file sharing is not normally a reliable way of running Subversion, and can cause file corruption. This is more serious than it was in CVS; CVS was based off individual files in RCS format, and was much more amenable to manual repairs than the Subversion repository. You almost certainly want to move away from this.

David Thornley
A: 

You also have svn1clicksetut

"The goal of this project is to simplify the process of setting up a Subversion repository on a Windows-based computer. Svn1ClickSetup takes a user through the steps necessary to install the Subversion command-line utilities and TortoiseSVN, as well as creating a repository and initial project."

vitorsilva