`
gyz5656
  • 浏览: 10664 次
  • 性别: Icon_minigender_1
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

关于SVN一个错误的恢复

阅读更多
最近在我用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
分享到:
评论

相关推荐

    SVN备份恢复

    - **恢复全量备份**:使用`svnadmin load`命令将整个仓库加载到一个新的SVN服务器或覆盖现有的仓库。 - **恢复增量备份**:先加载最新的全量备份,然后依次加载增量备份,确保按照时间顺序进行。 5. **脚本化备份...

    一个SVN软件

    使用SVN,开发团队可以创建一个中央仓库,所有项目文件都存储在这个仓库中。每个开发人员都有自己的工作副本,他们可以在本地修改代码,然后将这些更改提交回仓库。通过比较不同版本,SVN可以帮助找到引入错误的修改...

    svn客户端使用手册.doc

    SVN的操作流程对于开发人员而言至关重要,主要包括以下几个步骤: 1. **Checkout(检出)**:首次从SVN仓库获取项目的所有文件和目录至本地工作区,此操作仅需进行一次。 2. **Update(更新)**:将SVN仓库中的最新...

    清理SVN、断开SVN连接,工具

    在这种情况下,`断开SVN.reg`文件可能是用来在Windows资源管理器的右键菜单中添加一个“断开SVN”的选项。用户只需双击运行此`.reg`文件,然后在含有SVN工作副本的目录上右键点击,就能看到新出现的"断开SVN"选项。...

    SVN的Cleanup错误.zip

    SVN(Subversion)是一种广泛使用的版本控制系统,用于管理软件项目的源代码和其他文件。在日常开发过程中,用户可能会遇到各种问题,例如“SVN cleanup”错误。本文将深入探讨这个问题,提供解决方案,并介绍相关的...

    svn修复 sqlite3

    在IT行业中,版本控制系统是开发团队协作的重要工具,其中Subversion(简称SVN)是非常流行的一个选择。然而,像所有软件一样,SVN也可能遇到问题,例如数据库损坏。标题"svn修复 sqlite3"指的是在SVN中遇到的问题...

    SVN Training svn培训

    SVN,全称为Subversion,是一款广泛应用于软件开发领域的版本控制系统。它允许团队成员协同工作,跟踪文件和目录的变化,并提供了回滚到历史版本的能力。SVN Training是针对 SVN 用户和管理员的专业培训材料,旨在...

    SVN清理时错误之解锁某个文件

    在SVN的上下文中,如果一个文件在SVN库中被锁定,Unlocker可以作为一种辅助手段,帮助用户解锁该文件,以便进行正常的SVN操作。 以下是关于SVN清理、文件锁定以及Unlocker工具的详细知识: 1. **SVN清理(Clean Up)...

    svn本地文件夹断开服务器连接

    每个受svn管理的文件夹内都会有一个名为.svn的隐藏文件夹,它存储了与svn服务器交互的信息,如元数据、日志和临时文件。当不再需要这些文件夹与svn服务器保持连接,或者要彻底断开项目与svn的关系时,需要删除这些....

    svn 服务器免安装包

    SVN(Subversion)是一种广泛使用的版本控制系统,用于管理和跟踪文件和目录的变更。它允许团队成员协同工作,记录...通过深入学习和实践,你可以构建一个安全、高效且易于维护的SVN服务器环境,助力团队的协同开发。

    SVN信息泄漏利用工具

    例如,一个只应读取代码的开发者可能由于配置错误而获得写入权限。 3. **过时的SVN服务器**:未及时更新的SVN服务器可能包含已知的安全漏洞,攻击者可以利用这些漏洞获取未授权的访问。 4. **日志文件泄露**:SVN...

    SVN目录下.svn文件批量删除

    总之,SVN_Deleter提供了一个便捷的方法来批量删除`.svn`目录,这对于清理不再需要版本控制的项目或优化磁盘空间非常有用。然而,务必谨慎操作,以免丢失重要信息。在执行任何这样的操作之前,确保你充分了解潜在的...

    svn-1.4.5 svn-1.4.5

    SVN,全称为Subversion,是一个开源的版本控制系统,用于管理软件项目的源代码和其他文件。在SVN 1.4.5版本中,它提供了一系列的改进和修复,旨在提高性能、稳定性和用户体验。这个版本可能包含了对之前版本中已知...

    svn清理工具 svn文件夹清理

    SVN清理的主要目标是整理工作副本,删除不再需要的文件和目录,恢复工作空间到一个整洁的状态。这通常包括以下几个方面: 1. 删除未版本化的文件:这些文件可能是在开发过程中创建但未被添加到版本控制中的,或者...

    svn clean up报错wcdb解决工具.rar

    总的来说,"svn clean up报错wcdb解决工具"为遇到WCDB错误的SVN用户提供了一个方便的解决方案。通过理解和使用这类工具,可以有效地解决工作副本中的问题,恢复SVN的正常操作,从而保证开发流程的顺利进行。

    SVN HTML版教程

    2. **配置SVN仓库**:首先,你需要有一个SVN仓库地址,可以在诸如VisualSVN Server或Apache Subversion这样的服务器上创建。然后,在MyEclipse中通过“Team” > “Share Project”选择SVN,输入仓库URL并完成连接...

    linuxsvn离线安装

    在Linux环境中,Subversion(简称SVN)是一个版本控制系统,用于管理软件项目中的源代码、文档等文件的版本。在没有网络连接的情况下,即离线状态下安装Linux SVN,需要提前下载好所有必要的依赖包,然后在本地进行...

    svn 同步图标消失,并且不能勾选svn

    9. **查看错误日志**:在“窗口” -> “错误日志”中,查找关于svn的相关错误信息,这可能提供更具体的线索。 10. **重新关联svn**:如果以上步骤都无效,你可能需要解除项目与svn的关联,然后重新关联。右键点击...

    svn常见问题及解决

    1. **黄色感叹号(有冲突)**: 当你看到黄色感叹号时,表示你对一个文件的修改与他人在同一文件上的修改发生了冲突。解决冲突的方法包括: - 如果你的修改无效,可以通过TSVN(TortoiseSVN)恢复默认状态。 - 如果你...

    svn无法cleanup的处理方法

    在使用Subversion(SVN)进行版本控制的过程中,可能会遇到一个令人头疼的问题——无法执行`cleanup`操作。通常,这一问题的发生与上一次执行`cleanup`时程序意外中断有关。这种情况下,SVN可能会陷入一个死循环,...

Global site tag (gtag.js) - Google Analytics