Re: Multiple SVN repos with single server?
On 2/7/14, 11:57 AM, Tom Malia wrote: > Is it possible to server multiple SVN repositories…. Where I mean completely > different SVN directories… not separate folders within a single SVN repo… > using > SVNSERVE on a single server? If so, how? svnserve -d -r /var/svn Where each folder in /var/svn is a separate repository. Then you access each repo with: svn://svn.example.com/reponame where reponame is the name of the folder for the repo in /var/svn. For that matter you could do something (very silly) like -r / and then everyone would have to know the path on your server to reach the repo e.g. svn://svn.example.com/var/svn You can create nested structures this way as well. However, on important bit to remember is for authz svnserve uses the full path under the root for the reponame (including the slash) whereas mod_dav_svn uses only the directory the repo is in. That's because mod_dav_svn doesn't support arbitrary structures like svnserve does.
Re: Multiple SVN repos with single server?
On Fri, Feb 7, 2014 at 2:57 PM, Tom Malia wrote: > I've been using Apache to proide HTTP access to several different SVN > repository directories on a single server for about 10 years. > > I'm moving everything to a new server and I was considering using SVNSERVE > in place of or in addition to Apache for access to the repositories. > > Is it possible to server multiple SVN repositories Where I mean completely > different SVN directories... not separate folders within a single SVN repo... > using SVNSERVE on a single server? If so, how? > That is what we do here, but they are completely (configs, directories, access, users) independent from each other. Database included, but then again we are lazy and used sqlite. ;) > > > Also, is there any issue with running both SVNSERVE and Apache to provide > both SVN protocol and HTTP protocol access to the same SVN repos at the same > time? > > > > Thanks in advance, > > Tom
RE: Multiple SVN repos with single server?
> I've been using Apache to proide HTTP access to several different SVN > repository directories on a single server for about 10 years. > I'm moving everything to a new server and I was considering using SVNSERVE > in place of or in addition to Apache for access to the repositories. Sure... but I would question why you would want to do this. You are just making more work for yourself and I don't see any advantage to providing both protocols. If you are looking for simpler management/upgrades I highly recommend Subversion Edge. It's free and make things simple to setup and manage. > > Is it possible to server multiple SVN repositories.. Where I mean completely > different SVN directories. not separate folders within a single SVN repo. > using SVNSERVE on a single server? If so, how? > > Also, is there any issue with running both SVNSERVE and Apache to provide > both SVN protocol and HTTP protocol access to the same SVN repos at the > same time? > > Thanks in advance, > Tom
RE: Multiple SVN repos with single server?
Thanks, it's sssooo obvious now! -Original Message- From: Ben Reser [mailto:b...@reser.org] Sent: Friday, February 07, 2014 3:04 PM To: Tom Malia; users@subversion.apache.org Subject: Re: Multiple SVN repos with single server? On 2/7/14, 11:57 AM, Tom Malia wrote: > Is it possible to server multiple SVN repositories.. Where I mean > completely different SVN directories. not separate folders within a > single SVN repo. using SVNSERVE on a single server? If so, how? svnserve -d -r /var/svn Where each folder in /var/svn is a separate repository. Then you access each repo with: svn://svn.example.com/reponame where reponame is the name of the folder for the repo in /var/svn. For that matter you could do something (very silly) like -r / and then everyone would have to know the path on your server to reach the repo e.g. svn://svn.example.com/var/svn You can create nested structures this way as well. However, on important bit to remember is for authz svnserve uses the full path under the root for the reponame (including the slash) whereas mod_dav_svn uses only the directory the repo is in. That's because mod_dav_svn doesn't support arbitrary structures like svnserve does.
RE: Multiple SVN repos with single server?
I'm the first to admit I'm no expert... so I would not be surprised or offended to find I was asking for something really stupic. My logic for supporting both protocols is, my understanding is that SVN protocol can be substantially faster and I was planning to use this both as the preferred protocol for dedicated SVN Clients and for maintenance processes like SVNSYNC and SVNRDUMP. While, having access to the repos via HTTP give me more universal access for myself and my clients when we just need to read files potentially from locations that don't have any SVN client installed and/or which are blocking access to locations through anything other than HTTP protocols. When I looked at Subversion edge and played with it a little it looked really easy for setting up a completely new subversion server environment with new repositories. It wasn't immediately obvious to me how I would/could "attach" edge to existing repositories. I didn't really like installing a completely separate Subversion, Apache stack when I already have an apache and tomcat server running and figured I could just use what I had already. Again my lack of experience and knowledge here are probably painfully obvious to everyone but me on these subjects ignorance is NOT always bliss. -Original Message- From: Bob Archer [mailto:bob.arc...@amsi.com] Sent: Friday, February 07, 2014 3:11 PM To: Tom Malia; users@subversion.apache.org Subject: RE: Multiple SVN repos with single server? > I've been using Apache to proide HTTP access to several different SVN > repository directories on a single server for about 10 years. > I'm moving everything to a new server and I was considering using > SVNSERVE in place of or in addition to Apache for access to the repositories. Sure... but I would question why you would want to do this. You are just making more work for yourself and I don't see any advantage to providing both protocols. If you are looking for simpler management/upgrades I highly recommend Subversion Edge. It's free and make things simple to setup and manage. > > Is it possible to server multiple SVN repositories.. Where I mean > completely different SVN directories. not separate folders within a single SVN repo. > using SVNSERVE on a single server? If so, how? > > Also, is there any issue with running both SVNSERVE and Apache to > provide both SVN protocol and HTTP protocol access to the same SVN > repos at the same time? > > Thanks in advance, > Tom
RE: Multiple SVN repos with single server?
We switched from svn:// to http:// and didn't see any pref difference. Then again, I didn't benchmark it. That said, we don't do any path based authorization and that may be the difference. I prefer edge mostly for the inclusion of the management console, the WebView, and the push button updates. But to each his own. Yes, it is entirely possible to just point Edge to existing repos and have it server them. That said, the answer to your question is yes, you can have mod_dav_svn and svnserver both serving the same repos. For svnserve to serve multiple, afaik, they need to all be rooted at the same location and you use the -d switch to specify that root location. > -Original Message- > From: Tom Malia [mailto:tomma...@ttdsinc.com] > Sent: Friday, February 07, 2014 4:18 PM > To: Bob Archer; users@subversion.apache.org > Subject: RE: Multiple SVN repos with single server? > > I'm the first to admit I'm no expert... so I would not be surprised or > offended > to find I was asking for something really stupic. > > My logic for supporting both protocols is, my understanding is that SVN > protocol can be substantially faster and I was planning to use this both as > the > preferred protocol for dedicated SVN Clients and for maintenance processes > like SVNSYNC and SVNRDUMP. While, having access to the repos via HTTP > give me more universal access for myself and my clients when we just need > to read files potentially from locations that don't have any SVN client > installed > and/or which are blocking access to locations through anything other than > HTTP protocols. > > When I looked at Subversion edge and played with it a little it looked really > easy for setting up a completely new subversion server environment with > new repositories. It wasn't immediately obvious to me how I would/could > "attach" edge to existing repositories. I didn't really like installing a > completely separate Subversion, Apache stack when I already have an > apache and tomcat server running and figured I could just use what I had > already. > > Again my lack of experience and knowledge here are probably painfully > obvious to everyone but me on these subjects ignorance is NOT always > bliss. > > > -Original Message- > From: Bob Archer [mailto:bob.arc...@amsi.com] > Sent: Friday, February 07, 2014 3:11 PM > To: Tom Malia; users@subversion.apache.org > Subject: RE: Multiple SVN repos with single server? > > > I've been using Apache to proide HTTP access to several different SVN > > repository directories on a single server for about 10 years. > > I'm moving everything to a new server and I was considering using > > SVNSERVE in place of or in addition to Apache for access to the > repositories. > > Sure... but I would question why you would want to do this. You are just > making more work for yourself and I don't see any advantage to providing > both protocols. > > If you are looking for simpler management/upgrades I highly recommend > Subversion Edge. It's free and make things simple to setup and manage. > > > > > > Is it possible to server multiple SVN repositories.. Where I mean > > completely different SVN directories. not separate folders within a > > single > SVN repo. > > using SVNSERVE on a single server? If so, how? > > > > Also, is there any issue with running both SVNSERVE and Apache to > > provide both SVN protocol and HTTP protocol access to the same SVN > > repos at the same time? > > > > Thanks in advance, > > Tom
Re: Multiple SVN repos with single server?
On 2/7/14, 1:28 PM, Bob Archer wrote: > We switched from svn:// to http:// and didn't see any pref difference. Then > again, I didn't benchmark it. That said, we don't do any path based > authorization and that may be the difference. svnserve will be faster if you're committing a lot of files. DAV splits your commit up into multiple PUTs and then has to wait for the server to say that each PUT has succeeded before continuing. The svnserve protocol once it goes into an edit drive just streams the changes to the server and the server only responds if there's an error or the edit drive is finished. Neither of these protocols can use parallelism with sending commits at current since the filesystem backend can't handle it. But once we resolve this DAV should be able to support this which will help lower this cost since multiple round trips can be made at the same time. DAV with more recent versions of Subversion on the client and server side may be faster than svnserve due to skelta mode on checkout, update, switch and diff. In the past DAV would send a report which included the structure and content of the files. With skelta mode DAV will send the structure (and possibly properties) but leave the content to separate GET requests. The Subversion client can make multiple GET requests at the same time, resulting in parallel downloads. If the server can't saturate your network this may result in faster downloads. Additionally, if you're far away from the server these GET requests can be cached unlike the REPORT requests which really could not be. The svn protocol is still sending file content as a single stream and can't parallelize the downloads nor is there any sort of caching capability. There's more info on skelta mode in the 1.8 release notes: https://subversion.apache.org/docs/release-notes/1.8.html#serf-skelta-default Depending on your network environment your mileage may vary. If you really want to know what's faster then you'll need to try it. If you're very close to the server (thus having low latency) you may not notice much difference at all. As Bob has already said there really is nothing stopping you from running both. However, there is one big reason that nobody has mentioned. If you want to get great performance out of the server and you don't have trivial small repositories you should be configuring the memory cache. httpd and svnserve can share a cache if you use memcache, but I believe you'll have better luck if you just use a per process memory cache that can't be shared between servers. You can find some details on this from the 1.7 release notes: https://subversion.apache.org/docs/release-notes/1.7.html#server-performance-tuning One major piece of advice is if you are running httpd, use a threaded MPM (worker or event) as opposed to the prefork MPM. The threaded MPMs will use fewer processes and thus you'll be able to configure a larger cache and since all threads under the same process can share that cache you'll have higher hit rates.
Re: Multiple SVN repos with single server?
On Fri, Feb 7, 2014 at 3:11 PM, Bob Archer wrote: >> I've been using Apache to proide HTTP access to several different SVN >> repository directories on a single server for about 10 years. >> I'm moving everything to a new server and I was considering using SVNSERVE >> in place of or in addition to Apache for access to the repositories. > > Sure... but I would question why you would want to do this. You are just > making more work for yourself and I don't see any advantage to providing both > protocols. Available firewll ports for client environments. Many locked down environments only permit HTTP/HTTPS outgoing, and do not open svnserve ports or SSH ports for svn+ssh or svnserve ports. The same problem can exist on the server side. Now, me? I've often used "svn+ssh" for client write access, on a designated alternative port such as 2022, with a locked down SSH service restricted only to the "svn" user. I then provided "http" access for read-only access to publicly available or non-authenticated internal access. > If you are looking for simpler management/upgrades I highly recommend > Subversion Edge. It's free and make things simple to setup and manage. > > >> >> Is it possible to server multiple SVN repositories.. Where I mean completely >> different SVN directories. not separate folders within a single SVN repo. >> using SVNSERVE on a single server? If so, how? >> >> Also, is there any issue with running both SVNSERVE and Apache to provide >> both SVN protocol and HTTP protocol access to the same SVN repos at the >> same time? >> >> Thanks in advance, >> Tom