svn教程.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
authz.conf 之目录表示法 在前面的描述中,我们都采用 [repos:/some/dir] 这样的格式来表示项目的某个目录,比如上一小节中的 [arm:/diary/headquarters] 。而实际上,Subversion 允许你采用 `[/some/dir] 这样的格式,即不指定代码库的方式来表示目录,此时的目录就匹配所有项目。 对于使用 svnserve 的用户来说,只有当 svnserve 运行的时候使用了 -r 参数,并且让多个代码库共享同一个目录权限文件(即 authz.conf 或 authz)时,不指明代码库名称才有可能惹麻烦。一般情况下,我们对每个代码库都会独立使用配置文件,毕竟每个项目的目录结构,都有很大不同,混在一起意义不大。因此一般来说,为简洁起见,都可以不指明代码库名称。本文全都指明了代码库名称,主要是为了将来扩展成同一个配置文件,以方便配合 Apache 服务器。 对于使用 Apache 的用户来说,它们二者可有着很大的不同,因为此时往往习惯于使用一个公共的目录权限配置文件。如果你使用了 SVNParentPath 指令,则指定版本库的名字是很重要的,因为假若你使用后者,那么 [/some/dir] 部分就会与所有代码库项目的 [/some/dir] 目录匹配。如果你使用 SVNPath 指令,则这两种表示方式就没有什么区别了,毕竟只有一个版本库。 authz.conf 的其他注意点 1. 父目录的 r 权限,对子目录 w 权限的影响 方便那些想在一个代码库存放多个相互独立的项目的管理员,来分配权限了。比如说给一公司建立一个大的代码库用于存放所有员工日志,叫做 diary,而arm事业部只是其中一个部门,则可以这样做: [diary:/] @g_chief_manager = rw [diary:/arm] @g_arm_manager = rw @g_arm = r 这样,对于所有arm事业部的人员来说,就可以将 svn:///diary/arm 这个URL当作根目录来进行日常操作,而完全不管它其实只是一个子目录,并且当有少数好奇心比较强的人想试着 checkout 一下 svn:///diary 的时候,马上就会得到一个警告“Access denied” 。 2. 默认权限 如果说我对某个目录不设置任何权限,会怎样?马上动手做个试验,将: [diary:/] @g_chief_manager = rw 改成: [diary:/] # @g_chief_manager = rw 这样就相当于什么都没有设置。此时是禁止任何访问。也就是说,如果你想要让某人访问某目录,你一定要显式指明这一点。 3. 只读权限带来的一个小副作用 若设置了: [arm:/diary] * = r 则 Subversion 会认为,任何人都不允许改动 diary 目录,包括删除、 改名 ,和 新增 。 也就是说,如果你在项目初期创建目录时候,一不小心写错目录名称,比如因拼写错误写成 dairy,以后除非你改动 authz.conf 里面的这行设置,否则无法利用 svn mv 命令将错误的目录更正 4. anon-access 属性对目录权限的影响 你想将你的代码库开放给所有人访问,于是你就开放了匿名访问权限,在 svnserve.conf 文件中添加一行: anon-access=read 。可是对于部分目录,你又不希望别人看到,于是针对那些特别目录,你在 authz.conf 里面进行配置,添加了授权访问的人,并添加了 * = 标记。你认为一切OK了,可是你缺发现,那个特别目录却无法访问了,总是提示 Not authorized to open root of edit operation 或者 未授权打开根进行编辑操作 。你再三检查你配置的用户名与密码,确认一切正确,还是无法解决问题。 原来,Subversion 有个小 bug ,当 anon-access=read 并且某个目录有被设置上 * = 标记,则会出现上述问题。这个 bug 在当前最新版本上(v1.4)还存在,也许在下一版本内可以被改正吧。 解决的办法是,在 svnserve.conf 中,将 anon-access 设置成 none 。 SVN配置与使用教程 yhuayun88@ SVN安装配置 1、软件下载 下载SVN1.6服务器程序。 /servlets/ProjectDocumentList?folderID=91 【注意】如果之前已经安装了TortoiseSVN客户端,必须选择与之配套的SVN服务端版本,否则会出现各种问题,可以从TortoiseSVN的"About"菜单中看到与之对应的Subvers

文档评论(0)

gsbb + 关注
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档