如何才能为某些使用SVN的开发人员显示某些文件夹

时间:2008-12-02 18:56:44

标签: svn visualsvn visualsvn-server

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

我正在使用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)

1 个答案:

答案 0 :(得分:4)

我认为不可能完全按照自己的意愿行事,这是让每个人都查看http://example.com/svn/repos/并根据你是谁看到不同的东西。

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

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

添加另一个名为views的文件夹结构。

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

viewsView1都只是普通的文件夹。诀窍是将View1文件夹中的svn:externals属性设置为http://example.com/svn/repos/projects/Referenceshttp://example.com/svn/repos/projects/Project1。当有人结帐View1时,它还会检出其下的ReferencesProject1。我希望这会有所帮助。