我有一个包含大量文件夹的存储库,我希望某些开发人员在对存储库进行结帐时只能获得其中的两个或三个文件夹。如何在默认情况下不显示文件夹,然后仅在我要授予访问权限时添加它们。
我正在使用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)
答案 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
views
和View1
都只是普通的文件夹。诀窍是将View1
文件夹中的svn:externals
属性设置为http://example.com/svn/repos/projects/References和http://example.com/svn/repos/projects/Project1。当有人结帐View1
时,它还会检出其下的References
和Project1
。我希望这会有所帮助。