[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: Subversion C API

From: Ren Wang <renwang101_at_gmail.com>
Date: Mon, 9 Nov 2015 09:23:06 -0500

Hi Bert,

 

Thank you very much for the detail explanations.

 

We have been thinking about the option to develop our own repository layer
vs subversion API file:/// <file:///\\> repository API (libsvn_fs). This is
why we are looking for programming guide and sample code for supporting our
use cases. So far, we only have the test code from subversion, such as
test_fs project which is not enough for us.

 

I will take a look of the svnmucc code.

 

Regards,

 

Ren

 

From: Bert Huijben [mailto:bert_at_qqmail.nl]
Sent: Sunday, November 8, 2015 12:28 PM
To: 'Ren Wang' <renwang101_at_gmail.com>; users_at_subversion.apache.org
Subject: RE: Subversion C API

 

Mod_dav mostly uses the repository layer api. In a few specific cases it
goes into the fs layer directly. sometimes because something isn't mapped,
but in other cases because mod_dav was developed very early in the
development process and the repository layer wasn't as complete as it is
today.

 

But is the client layer really that expensive for you that you can't use it?
Did you measure it?

 

I can't imagine usecases where the performance is that critical that you
really can't afford the thin layer that the file:/// <file:///\\>
repository api has, but don't want a specialized datastore 100% optimized
for your usecase.

 

I can think of a few cases where you might want to avoid the overhead of
having a working copy, but even there the costs aren't usually that high
that it makes sense to spend a lot of time to develop something else.

(And in many cases the still private API behind svnmucc can already help you
there)

 

                Bert

 

From: Ren Wang [mailto:renwang101_at_gmail.com]
Sent: vrijdag 6 november 2015 19:44
To: users_at_subversion.apache.org <mailto:users_at_subversion.apache.org>
Subject: Subversion C API

 

I have posted the same question to the stackoverflow, here it is. Looking
forward to hear from you:

 

We are considering to use Subversion as the file system layer to store
version enabled documents. Since the security function will be handled by
other code, I am considering to directly use the Subversion FS C API layer.
I wonder if there any good sample code for using Subversion FS APIs?

 

Someone answered back:

Subversion's FSFS store is meant to be used by the subversion server. While
it might be useable in other scenarios, whatever sits on top of it will
likely have to act much like a subversion server when interacting with it.
Subversion differentiates between client workspaces and the server storage
space. If you are going to leverage subversion components, your application
needs to realize that these two spaces are not the same within a subversion
architecture, and therefore should not be the same within your solution that
uses their components.

Why not just embed a subversion client into the place you desire and then go
from there? The user workspace will still be "the subversion user workspace"
and the server side will be the server side. In fact, check out tortise SVN
(or other desktop integrations of subversion). You might not even need to
write anything.

I asked again with more context for the project:

SVN Client API will have performance penalty since it will go through other
layers such as user authentications, authorizations, transport etc. which
are not needed for us. Subversion server side API will bypass those calls. I
wonder which API mod_dav_svn used.

Regards,

Ren

 
Received on 2015-11-09 15:23:13 CET

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.