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

RE: Recommendations for a production svn server

From: Jim Sokoloff <jim_at_sokoloff.com>
Date: 2003-12-30 20:42:18 CET

On Tue, 30 Dec 2003, Mark Watts wrote:

> > Incidentally, we ARE developing web .Net projects and our
> > solution to the .svn problem is to use hard-links to link our
> > working copy tree (where the .svn dirs are) to the web server
> > tree (which does not have .svn dirs, among other
> > differences)
> >
> > Doing so requires making a small patch to the sources and an
> > external tool (to create, verify, maintain the links), but
> > the overall system has proven quite satisfactory (and the
> > subversion part of it FAR beyond satisfactory...)

> What is the patch that you mention for?

It is a patch to svn_io_copy_file such that it preserves any
hard links which were present when doing an update or commit.

(Think Emacs' variable 'backup-by-copying)

We have a "subversion" tree which is a normal svn working
copy and a "web" tree, which is (in the simple case, for the
purposes of this email) a tree with the same structure and
all the contents being hardlinks "back" into the subversion
working copy. This way, IIS serves from the "web" tree and is
happy, and we run svn and the IDE out of the subversion tree.
(Stock svn will break hard links by doing a "safe save and
then rename" to create a new file in the working copy.)

> I am just moving into IIS projects on .Net and need to
> figure out a solution to the .svn problem also?

We adopted this structure, not because of any limitation wrt
the IIS/.svn directories, but because our actual mapping is
far from one-to-one from "svn" to "web", but the same
principle would work for the simpler mappings. (IOW, we
needed this REGARDLESS of what the .svn directory were to
be called and/or whether it would work with IIS.)

> Is this something that can be included into the standard release
> prior to 1.0?

Yes and no. From my perspective, I'll provide the patch to
anyone who wants it. Karl's perspective (which I am inclined
to agree with in principle) is that this change is too risky
pre-1.0 (because while it works for me on Win32, I can't be
sure it will work for you on Win32, or that it will work on
other platforms).

So, it's a testing/risk management issue that's keeping it
out of 1.0, and I agree with that judgement.

> (obviously not my call if it will be or not, but if it IS
> a low impact change that gives .NET developers a workaround
> to the .svn problem then it would be nice to see it in 1.0)

I'm happy to give it to you (and anyone else who wants)
and work on getting it integrated to the main sources
post-1.0.

In fact, the way I'd really like to see it done is via a
function addition to APR that returns the number of links
to a given path. If that number is 1 (or 0 for a FNF), do
the current behavior. If that number is >1, execute my
code. That would be less potential impact on other
platforms where users aren't using hardlinks.

(Think Emacs' variable 'backup-by-copying-when-linked)

Cheers,
---Jim

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Dec 30 20:43:06 2003

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.