4

我有一个包含一堆文件夹的存储库,我希望某些开发人员在对存储库进行结帐时只获得其中两个或三个文件夹。如何使文件夹默认不显示,然后仅在我想授予访问权限时添加它们。

我将 VisualSVN 用于 SVN 服务器,我所做的是授予对顶层的读取访问权限,然后拒绝访问每个子文件夹,然后将拒绝更改为对我希望每个开发人员访问的文件夹进行读/写。这很痛苦,因为每当我添加一个新文件夹时,我都必须进入并拒绝对其进行访问。

我尝试仅授予对子文件夹的读/写权限,但是当他们尝试在父文件夹上结帐时,它会给他们一个错误。我只希望开发人员必须对顶级文件夹进行结帐。

这就是我想要的:

RepoFolder       (dev1 checks out this)
  - References   (this shows to dev1)
  - Project1     (this shows to dev1)
  - Project2     (this does not show to dev1)
  - Project3     (this does not show to dev1)
  - Project4     (this does not show to dev1)
4

1 回答 1

4

我认为不可能完全按照您的意愿去做,那就是让每个人都查看http://example.com/svn/repos/并根据您的身份看到不同的东西。

通过拒绝访问文件夹,您走在了正确的轨道上。您可以做的是为某些开发人员创建一个“视图”文件夹。假设你所有的项目看起来像

http://example.com/svn/repos/projects/
   +- References
   +- Project1
   +- Project2

添加另一个称为视图的文件夹结构。

http://example.com/svn/repos/
   + projects/       
       +- References
       +- Project1
       +- Project2
   + views/
       +- View1

两者viewsView1只是普通文件夹。技巧是将文件夹上的svn:externals属性设置为http://example.com/svn/repos/projects/Referenceshttp://example.com/svn/repos/projects/Project1。当有人结帐时,它也会结帐并在其下。我希望这有帮助。View1View1ReferencesProject1

于 2008-12-03T05:41:37.337 回答