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

Need for filtered checkouts/updates

From: Igor Chub <unknown_at_yahoo.com>
Date: 2004-10-27 14:18:06 CEST

Please advise on effective usage of svn.

We have about 20 svn's repositories. Each one contains 10000-20000
files mostly binaries (small graphics) and some texts. Sizes of repositories
are from 200Mb to 1000Mb. Each member of our developer and artist team
can work against several or even all of repositories. The problem is free
disk space to store all working copies on user's disk. Sure, user can
checkout repository, work with it, commit and then delete working
copy. But checkout for our average repository can take up to 30-50 min under
Windows using TortoiseSVN (why so long???!!!). The developers should spend
too much time on checkout procedure.

1) The problem can be resolved doing partial checkouts (not from the
project root). We tried to reorganize directory structure of the projects
in such a way to allow partial checkouts. But it appeared impossible to
satisfy all possible partial checkout scenarios.

2) Next we tried to use svn:external. We defined common checkout
scenarios and created equal number of named empty folders in the repository.
In the property of each folder corresponding svn:externals were placed.
When user checkouts this empty folder, svn client creates directory structure
inside according to svn:externals. This solves the problem of long checkouts.
But instead we get another one - non atomic commit using svn:external.
Each directory created with svn:extermal should be committed separately.
That can lead to project inconsistency if one of such commits fails
and somebody's commit wedges in.

3) There is one more option... For per directory access we use Apache2
with mod_authz_svn. This module intercepts svn's client requests and
validates them against access rules defined in text file. If
user checkouts/updates directory and some of its internal directories are
prohibited for reading mod_authz_svn silently filters output stream
sent to the user in such a way he receives only allowed data. But that
is a partial checkout! If mod_authz_svn could check client requests not
only against access rules but also against some filter rules and the
file with filter rules was accessible in some way remotely by users
(access rules can be changed only by administrator!) it would solve our
problem COMPLETELY! Sure, user can only change filter for himself not for
the other users. May somebody knows if proposed extension to mod_authz_svn
exists. Please advise!!!!

4) The problem can also be solved if SVN supported repositary's links
(like shares in MS SourceSafe )

Best regards,
Igor Chub

P.S.
Recently I read the forum where people argued what is the best
BitKeeper or Subversion. Someone cited Linus Torvalds (father of
Linux) who said that after Linux's team switched to BitKeeper (not
from Subversion)) their productivity increased by 10 times.
SubVersion's advocates argued that 10 times is unproven number and
productivity may increase on some operations, but for the others it
can decrease. We use Subversion about 3 months and I can say that it
is a great product. It really increases productivity BUT only if do
not need to do frequent checkouts (as in our case). If you need to
then productivity is better if you save your projects in ZIP archives
on central file-server and extract data you from there.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Oct 29 17:35:44 2004

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.