Review of Chapter 6: Server Configuration
C. Michael Pilato
cmpilato at red-bean.com
Fri Feb 23 02:00:21 CST 2007
I'm sleepy, and I'm starting this mail at 1:45am, so let me skip the
salutations and get right to it.
I really, really don't like how the chapter starts off. Right off the
bat, "Table 6.1. Network Server Comparison" slams readers with all kinds
of industry and Subversion buzzwords before they even have a chance to
get acquainted with what a Subversion server is and provides. At the
very least it should be moved down into the "Choosing the Best Server
Configuration" section. The list-filled sections "The Apache HTTP
Server", "The svnserve Server", and "svnserve over SSH" all tell you
things you might want to know when trying to choose which server to
implement. But they precede the section called "Choosing the Best
I think the little bit of text that's in the "Overview" sect1 should be
worked into the chapter introduction. There's precious little detail
there, and we shouldn't need a section called "overview" when that's
what the chapter introduction is actually for. So, then, "Choosing a
Server Configuration" should be the first sect1, and it should contain
the list-filled why/why-not sections (as subsections), followed by the
server comparison table.
Minor nit: there is a pretty consistent notion of there being two
servers -- apache and svnserve. There's two data columns in the
comparison table, two sect1's to cover each of the servers. Yet there
are three list-filled why/why-not sections (BTW, I'm not using
"list-filled" as an insult, merely as descriptive). Why does svnserve
get bifurcated into with- and without-SSL here but not elsewhere? Would
it make sense to consistently treat svn:// and svn+ssh:// as peers
instead of mild deviations under a common concept?
Also, I'd prefer consistent ordering. Either always mention Apache
first, or always mention svnserve first. Don't care which; just want
the consistency. (I don't know why. Consistency has never been a theme
for me or anything. /me whistles and looks to and fro nervously.)
In "Choosing the Best Server Configuration", I'd point out that often
Apache is a good choice if you already have Apache as part of your
existing infrastructure, or if other requirements (such as repository
browsing ala ViewVC) are driving a need for Apache. In other words, if
you got Apache already (and already running), why bother setting up
svnserve, too unless it brings some justifiable benefit?
Why should someone run svnserve as a Windows service instead of as a
daemon? (I know why, but the book the say.) Perhaps the daemon and
Windows Service modes should be handled in the same section, since they
are effectively the same high-level concept -- a long-lived svnserve
process listening for input. No strong opinion there.
I think the stuff about alternate tunnels (svn+joessh) should either be
broken into is own section, or the section it is in should be renamed to
speak generally about tunnels (instead of SSH specifically).
This might be overkill, but sections like the Apache "Authentication
Options" which indicate that without additional server configury the
repository is committable by everyone don't take into account that the
repos admin might have, as part of the knowledge gained in chapter 5,
used hook scripts to prevent as much. You don't need to dive into
details here, but a nod to that possibility might not hurt.
"Again, the runtime servers file allows you to automate this challenge
on a per-host basis." Again? Did we mention the servers file
previously in this section?
Lose "Best practice: " from "Best practice: do you really need
path-based access control?"
"consider that the Subversion project itself has always a notion of who
is allowed to commit where" -- I think there's a missing "had".
"…and that's pretty much all there is to it." I think this quip can be
removed unceremoniously to the great benefit of the section in which it
resides. No need to provide a wrap-up sentence there at all.
Overall, a good chapter. And now I know that it can be reviewed in
merely 75 minutes' time.
It's 3:00am. I haven't the energy to plow through either my "what's
wrong with chapter 1" or my "review of chapter 4" efforts. Maybe
C. Michael Pilato <cmpilato at red-bean.com>
"The Christian ideal has not been tried and found wanting. It has
been found difficult; and left untried." -- G. K. Chesterton
More information about the svnbook-dev