最近在我用Subversion论坛(http://www.iUseSVN.com/bbs)经常有人提到这样的问题:
为什么我的客户端没有写权限?
为什么我的权限没有起作用?
总结他们的配置,发现
都是用svnserve作为服务器,
都在svnserve.conf中使用了authz-db选项
原因可能如下:
1,配置authz时,没有注意svnserve启动参数-r所指定的目录。
这里有两种情况:
A:-r直接指定到版本库(称之为单库svnserve方式)
比如,有一个库project1,位于D:\svn\project1
使用以下命令启动svnserve svnserve -d -r D:\svn\project1
复制代码在这种情况下,一个svnserve只能为一个版本库工作
authz文件如果配置成下面这样就是错的, [groups]
admin=user1
dev=user2
[project1:/]
@admin=rw
@doc=r
复制代码应该配置成 [groups]
admin=user1
dev=user2
[/]
@admin=rw
@doc=r
复制代码因为[project1:/]表示库project1的根目录,而按上面的启动参数,是没有库的概念的。
使用类似这样的URL:svn://192.168.0.1/ 即可访问project1
B:-r指定到版本库的上级目录(称之为多库svnserve方式)
同样,有一个库project1,位于D:\svn\project1
如果使用以下命令启动svnserve svnserve -d -r D:\svn
复制代码这种情况,一个svnserve可以为多个版本库工作,
这时如果想限制指定库的指定目录,就应该指定具体的库,像这样 [groups]
admin=user1
dev=user2
[project1:/]
@admin=rw
@doc=r
复制代码如果此时你还用[/],则表示所有库的根目录,同理,[/src]表示所有库的根目录下的src目录
使用类似这样的URL:svn://192.168.0.1/project1 即可访问project1
这样的URL:svn://192.168.0.1/project2 即可访问project2
2,对中文目录进行权限控制时,没有将权限文件authz改为utf-8格式。
svn对于非英文文件名和目录名使用utf-8格式编码处理,要对中文目录进行正确控制,
应该使用无BOM的utf-8格式,如何将默认的文件转为utf-8,
我使用的是UltraEdit的菜单"ASCII to UTF-8 (Unicode Editing)"。在UltraEdit的配置中,可以设置有无BOM
更多参考文档:
(配置权限控制文件)http://bbs.iusesvn.com/thread-6-1-1.html
(中文目录权限控制)http://bbs.iusesvn.com/thread-41-1-1.html
(Apache的单库多库问题)http://bbs.iusesvn.com/thread-158-1-1.html
分享到:
相关推荐
- **恢复全量备份**:使用`svnadmin load`命令将整个仓库加载到一个新的SVN服务器或覆盖现有的仓库。 - **恢复增量备份**:先加载最新的全量备份,然后依次加载增量备份,确保按照时间顺序进行。 5. **脚本化备份...
使用SVN,开发团队可以创建一个中央仓库,所有项目文件都存储在这个仓库中。每个开发人员都有自己的工作副本,他们可以在本地修改代码,然后将这些更改提交回仓库。通过比较不同版本,SVN可以帮助找到引入错误的修改...
SVN的操作流程对于开发人员而言至关重要,主要包括以下几个步骤: 1. **Checkout(检出)**:首次从SVN仓库获取项目的所有文件和目录至本地工作区,此操作仅需进行一次。 2. **Update(更新)**:将SVN仓库中的最新...
在这种情况下,`断开SVN.reg`文件可能是用来在Windows资源管理器的右键菜单中添加一个“断开SVN”的选项。用户只需双击运行此`.reg`文件,然后在含有SVN工作副本的目录上右键点击,就能看到新出现的"断开SVN"选项。...
SVN(Subversion)是一种广泛使用的版本控制系统,用于管理软件项目的源代码和其他文件。在日常开发过程中,用户可能会遇到各种问题,例如“SVN cleanup”错误。本文将深入探讨这个问题,提供解决方案,并介绍相关的...
在IT行业中,版本控制系统是开发团队协作的重要工具,其中Subversion(简称SVN)是非常流行的一个选择。然而,像所有软件一样,SVN也可能遇到问题,例如数据库损坏。标题"svn修复 sqlite3"指的是在SVN中遇到的问题...
SVN,全称为Subversion,是一款广泛应用于软件开发领域的版本控制系统。它允许团队成员协同工作,跟踪文件和目录的变化,并提供了回滚到历史版本的能力。SVN Training是针对 SVN 用户和管理员的专业培训材料,旨在...
在SVN的上下文中,如果一个文件在SVN库中被锁定,Unlocker可以作为一种辅助手段,帮助用户解锁该文件,以便进行正常的SVN操作。 以下是关于SVN清理、文件锁定以及Unlocker工具的详细知识: 1. **SVN清理(Clean Up)...
每个受svn管理的文件夹内都会有一个名为.svn的隐藏文件夹,它存储了与svn服务器交互的信息,如元数据、日志和临时文件。当不再需要这些文件夹与svn服务器保持连接,或者要彻底断开项目与svn的关系时,需要删除这些....
例如,一个只应读取代码的开发者可能由于配置错误而获得写入权限。 3. **过时的SVN服务器**:未及时更新的SVN服务器可能包含已知的安全漏洞,攻击者可以利用这些漏洞获取未授权的访问。 4. **日志文件泄露**:SVN...
总之,SVN_Deleter提供了一个便捷的方法来批量删除`.svn`目录,这对于清理不再需要版本控制的项目或优化磁盘空间非常有用。然而,务必谨慎操作,以免丢失重要信息。在执行任何这样的操作之前,确保你充分了解潜在的...
SVN,全称为Subversion,是一个开源的版本控制系统,用于管理软件项目的源代码和其他文件。在SVN 1.4.5版本中,它提供了一系列的改进和修复,旨在提高性能、稳定性和用户体验。这个版本可能包含了对之前版本中已知...
SVN清理的主要目标是整理工作副本,删除不再需要的文件和目录,恢复工作空间到一个整洁的状态。这通常包括以下几个方面: 1. 删除未版本化的文件:这些文件可能是在开发过程中创建但未被添加到版本控制中的,或者...
在Linux环境中,Subversion(简称SVN)是一个版本控制系统,用于管理软件项目中的源代码、文档等文件的版本。在没有网络连接的情况下,即离线状态下安装Linux SVN,需要提前下载好所有必要的依赖包,然后在本地进行...
总的来说,"svn clean up报错wcdb解决工具"为遇到WCDB错误的SVN用户提供了一个方便的解决方案。通过理解和使用这类工具,可以有效地解决工作副本中的问题,恢复SVN的正常操作,从而保证开发流程的顺利进行。
2. **配置SVN仓库**:首先,你需要有一个SVN仓库地址,可以在诸如VisualSVN Server或Apache Subversion这样的服务器上创建。然后,在MyEclipse中通过“Team” > “Share Project”选择SVN,输入仓库URL并完成连接...
如果你已经删除了一个文件,但不希望在`svn update`后重新出现,可以先执行`svn revert <file>`,这样就可以取消删除操作,然后再执行`svn commit`提交这个取消删除的改动到仓库,确保仓库中也删除了该文件。...
1. **黄色感叹号(有冲突)**: 当你看到黄色感叹号时,表示你对一个文件的修改与他人在同一文件上的修改发生了冲突。解决冲突的方法包括: - 如果你的修改无效,可以通过TSVN(TortoiseSVN)恢复默认状态。 - 如果你...
在使用Subversion(SVN)进行版本控制的过程中,可能会遇到一个令人头疼的问题——无法执行`cleanup`操作。通常,这一问题的发生与上一次执行`cleanup`时程序意外中断有关。这种情况下,SVN可能会陷入一个死循环,...
SVN将数据存储在一个中央仓库中,允许用户恢复旧版本或浏览文件的历史记录。SVN适用于Windows操作系统的服务器环境,通过与Apache服务器一起配置,可以实现版本控制的Web服务功能。 根据本文档提供的信息,操作人员...