有一些新的顾问,他们将在软件的某些部分工作,这些部分对整个软件的功能并不重要。该软件不是以模块化方式组织的,所有这些包含非关键功能的源文件都没有隔离在一个目录中。
有没有办法让顾问无法分叉/分支项目,也只能处理文件(非关键功能文件)?
在这种情况下,版本控制软件是 SVN。
有一些新的顾问,他们将在软件的某些部分工作,这些部分对整个软件的功能并不重要。该软件不是以模块化方式组织的,所有这些包含非关键功能的源文件都没有隔离在一个目录中。
有没有办法让顾问无法分叉/分支项目,也只能处理文件(非关键功能文件)?
在这种情况下,版本控制软件是 SVN。
如果您在 Windows 上使用 VisualSVN Server,您可以轻松地设置目录的访问权限(例如只读或无访问权限)。您不能在 SVN 中为每个文件设置任何内容(它旨在对目录进行操作)。其他 SVN 系统可以通过编辑 authz 文件并为每个要保护的目录编辑一个条目来执行相同的操作。
对单个文件设置访问控制将很快成为一场噩梦,因此将要保护的文件移动到几个目录中并对其进行控制。
您可以通过执行以下操作来做到这一点:
确保您授予顾问对中继的只读访问权限和对新目录的读写访问权限
第 3 步比较棘手,所以我将尝试进一步解释。假设您的原始存储库具有这样的文件结构
/trunk
/lib
- Non Critical File 1.txt
- Non Critical File 2.txt
- Other files.h
完成第 3 步后,您的存储库将如下所示:
/trunk
/lib
- SVN: External to Non Critical File 1.txt
- SVN: External to Non Critical File 2.txt
- Other files.h
/NewDirectory
- Non Critical File 1.txt
- Non Critical File 2.txt
对每个非关键文件执行此操作。
这将允许您的顾问仅查看现有存储库中的文件,但仅更新新创建的目录中的文件
要设置 SVN:Externals,请参阅此堆栈溢出帖子