Eclipse提交SVN报错svn:E204900无法创建目录 Tortoise可正常提交
问题根因说明
这个报错本质是SVN服务端/opt/bitnami/subversion/repos/x/dav/activities.d目录的所属用户/组权限不足,无法写入提交对应的活动日志文件。TortoiseSVN可正常提交是因为其默认使用无需服务端创建临时活动记录的HTTP提交模式,而Eclipse的SVN插件(Subclipse/Subversive)默认会触发MKACTIVITY请求要求服务端创建活动目录,才会触发权限报错。
客户端可采取的处理措施
- 更换Eclipse SVN连接器:打开Eclipse偏好设置,找到
Team > SVN配置页,将默认使用的SVNKit连接器切换为JavaHL连接器,JavaHL底层复用和TortoiseSVN一致的提交逻辑,可绕过活动目录创建要求。 - 修改本地SVN全局配置:找到本地SVN配置文件,Windows路径为
C:\Users\用户名\AppData\Roaming\Subversion\config,macOS/Linux路径为~/.subversion/config,找到[http]配置段,新增如下两行配置:
http-bulk-updates = no negotiate-delegate-creds = no
禁用需要服务端创建活动记录的提交模式。
- 关闭Eclipse SVN活动追踪:提交代码时不要勾选
[x] 保留变更日志/[x] 启用活动追踪类选项(不同版本插件表述略有差异),关闭活动追踪功能后提交不会触发MKACTIVITY请求。 - 临时绕过方案:遇到提交失败时先用TortoiseSVN完成提交,再回到Eclipse拉取最新代码即可继续后续开发。
关于跳过目录写入配置的说明
不存在客户端配置可以直接跳过服务端的目录写入校验,上述调整本质都是切换提交模式,避免触发服务端创建活动目录的逻辑,并非真正跳过写入操作。如果所有客户端调整都无效,需要联系SVN服务端管理员,给/opt/bitnami/subversion/repos/x/dav/activities.d目录分配SVN服务运行用户(通常为daemon或www-data)的读写权限,即可彻底解决该问题。
内容的提问来源于stack exchange,提问作者little star
相关产品推荐
相关产品推荐

