Re: Multiple SVN repos with single server?

2014-02-07 Thread Ben Reser
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?

2014-02-07 Thread Mauricio Tavares
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?

2014-02-07 Thread Bob Archer
> 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?

2014-02-07 Thread Tom Malia
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?

2014-02-07 Thread Tom Malia
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?

2014-02-07 Thread Bob Archer
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?

2014-02-07 Thread Ben Reser
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?

2014-02-08 Thread Nico Kadel-Garcia
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