We have a subversion repository with top-level projects, each projects with trunk/branches/tags. And now we need to restrict access to one of projects for a limited number of developers. All work fine, except that while person who don't have access to this project performs "update" on repository via TortoiseSVN, the red 403 "forbidden" message is shown to him for project he is forbidden to see. This is logical, but red error lines for sucessfull commands are not good in general: developers who always see red error messages durng update will shortly get used to them and can ignore an error message that is a real error, not information about permissions :(. So, is it possible to configure TortoiseSVN / VisualSVN server so d开发者_StackOverflowevelopers who don't have permissions for some projects will not get error messages for "update" command targeting repository root?
It's bad practice to checkout the entire root in the first place. trunk is the level that should be checked out in a working copy.
This also makes sure that when someone creates a branch (cheap operation), it's not populated into the working copy (expensive operation).
On top of that, because the way locking works in Subversion, the locking operation will take longer and longer when more directories are added to the working copy. (this will change with version 1.7)
Note that it's also possible to use sparse checkouts
I think the easiest solution is to create another repository similar to the one you have, (I assume that uses svn:externals to the other repositories), but only for the ones the restricted developers can access.
精彩评论