权限分配时具有父子继承和下级覆盖上级权限的特点:具体就是,如果上级目录给某用户设置了某权限,而下级目录并没有给该用户设置具体权限,则该用户对下级的子目录具有在上级目录所给予的权限。如果上级目录设置了某权限,同时在下级目录再次对该用户设置了其它权限,则该用户对下级目录所拥有的权限就不再是在上级目录所给予的权限。
实际在权限分配时按照目录结构从上到下的顺序,应遵循由严到松的原则,在顶层目录设置大多数用户不具有任何权限(只有把Everyone用户的权限设为无任何权限即可实现,不需要分别把每个用户的权限设为无任何权限),在需要给用户分配一定权限的子目录设置适当的权限,防止其他用户访问和获得不能让其了解的资料。
? 当权限设为No Access,指定用户不能检出和获得任何信息;
? 当权限设为read only,指定用户可以检出和获得信息,但不能对信息修改后提交到服务器; ? 当权限设为read/write,指定用户可以检出和获得信息,同时也可以把自己对信息的修改提交到
服务器。
备份VisualSVN Server中仓库(Repositories)中的代码
一、最好的方法就是使用TotoiseSVN(客户端)工具,把仓库中的代码直接检出(check out)。
二、可以直接把Repositories整个仓库文件拷贝到其它磁盘,在重新安装VisualSVN Server时,可以直接
指定使用此仓库,可以使用仓库中原先的所有东西,不仅包括使用仓库中的资料,还可以使用原先的用户和权限设置。
例如:d:\\Repositories为之前拷贝的仓库,在重新安装另一个VisualSVN Server时可以直接使用。
三、使用recommend命令实现备份。
TotoiseSVN(客户端)
TotoiseSVN的基本使用方法
一、签入源代码到SVN服务器
假如我们使用Visual Studio在文件夹StartKit中创建了一个项目,我们要把这个项目的源代码签入到SVN Server上的代码库中里,首先右键点击StartKit文件夹,这时候的右键菜单如下图所示:
点击Import,弹出下面的窗体,其中http://zt.net.henu.edu.cn 是服务器名,svn是代码仓库的根目录,StartKit是我们在上个教程中添加的一个代码库:
说明:左下角的CheckBox,在第一次签入源代码时没有用,但是,在以后你提交代码的时候是非常有用的。
点击OK按钮,会弹出下面的窗体,要求输入凭据
源代码已经成功签入SVN服务器了。这时候团队成员就可以迁出SVN服务器上的源代码到自己的机器了 二、签出源代码到本机
在本机创建文件夹StartKit,右键点击Checkout,弹出如下图的窗体:
在上图中URL of Repository:下的文本框中输入svn server中的代码库的地址,其他默认,点击OK按钮,就开始签出源代码了。
说明:上图中的Checkout Depth,有4个选项,分别是迁出全部、只签出下一级子目录和文件、只签出文件、只签出空项目,默认的是第一项。上面的例子中,我们也可以使用web的方式访问代码库,在浏览器中输入http://zt.net.henu.edu.cn/svn/StartKit/
这时候也会弹出对话框,要求输入用户名和密码,通过验证后即可浏览代码库中的内容。 源代码已经成功签出到刚才新建的StartKit目录中。 打开StartKit目录,可以看到如下图的文件夹结构:
一旦你对文件或文件夹做了任何修改,那么文件或文件夹的显示图片机会发生变化。下图中我修改了其中的二个文件
(附:不同状态所对应的图片)
现在我们已经知道怎么将源代码签入到SVN服务器,怎么从服务器签出代码到本机,也简单了解了不同状态所对应的图案。
三、提交修改过的文件到SVN服务器
上面的图2-2-7中,我修改了位于Model文件中的二个文件ImageInfo.cs和NewsInfo.cs,下面演示如何提交到SVN服务器。
注意:提交源代码到服务器时,一定确保本机的代码是最新版本,否则可能提交失败,或者造成版本冲突。 在Model文件夹上点击右键或在Model文件下的空白处点击右键,点击SVN Commit?弹出下面的窗体: