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

Re: svn commit: r1869870 - /subversion/trunk/INSTALL

From: Nathan Hartman <hartman.nathan_at_gmail.com>
Date: Sun, 17 Nov 2019 00:02:34 -0500

On Fri, Nov 15, 2019 at 6:43 PM Daniel Shahaf <d.s_at_daniel.shahaf.name>
wrote:

> hartmannathan_at_apache.org wrote on Fri, Nov 15, 2019 at 16:40:22 -0000:
> > +++ subversion/trunk/INSTALL Fri Nov 15 16:40:22 2019
> > @@ -344,17 +344,21 @@ I. INTRODUCTION
> > + 7. Berkeley DB 4.X (DEPRECATED and OPTIONAL)
> ⋮
> > + The BDB back end has been deprecated in favor of FSFS, which
> > + stores the repository in a flat filesystem. You do not need
> > + Berkeley DB if you will only use the FSFS repository filesystem,
> > + or if you are building a Subversion client that will only speak
> > + to remote (networked) repositories.
>
> Could "remote (networked) repositories" be misunderstood as referring to
> NFS-mounted repositories? Suggest to append "via the svn:// or http://
> URI
> schemes and their variants" (svn+ssh, svn+foo, https).
>

Thank you for pointing this out.

As I'm looking at the text, I see other potential ambiguities here.
Such as:
* If I build a client that *doesn't* *only* access remote
  repositories, do I need BDB?
* If I build a client that talks to a Subversion server that happens
  to be running on the same machine (not via network)...?!?!

You and I know that only the binaries that *directly* access a BDB
repo need to be built with BDB support, but this can turn into an
unnecessarily complicated explanation.

Also, some good information that is stated in the "Dependency
Overview" section is not re-stated here. I think it should be, because
this is the "Dependencies in Detail" section.

Perhaps we should continue the theme of spelling things out...

For reference, this is the text under discussion as it appears now:

[[[

Berkeley DB is needed to build a Subversion server that supports
the BDB repository filesystem, or to access a BDB repository on
local disk.

The BDB back end has been deprecated in favor of FSFS, which
stores the repository in a flat filesystem. You do not need
Berkeley DB if you will only use the FSFS repository filesystem,
or if you are building a Subversion client that will only speak
to remote (networked) repositories.

]]]

And I propose to replace it with something like:

[[[

You need Berkeley DB only if you are building support for
Subversion's older BDB repository storage back-end. The BDB
back-end is deprecated and not recommended, but is still
available. The newer and recommended back-end, FSFS, does
not require Berkeley DB.

In particular, you need Berkeley DB if you are building:
* A Subversion server that supports BDB repositories.
* A Subversion client that can access BDB repositories via
  the file:// URI scheme.

You do not need Berkeley DB if you are building:
* A Subversion server without support for BDB repositories.
* A Subversion client that accesses Subversion repositories of
  any format (BDB or otherwise), when such access is provided
  by a Subversion server that supports that format.

]]]

Thoughts?

Nathan
Received on 2019-11-17 06:02:59 CET

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