头部背景图片
小畅的学习笔记 |
小畅的学习笔记 |

SVN常见问题汇总

SVN常见问题汇总:

1. post-commit中,系统找不到指定的路径
Image1.png
解决办法:钩子函数中路径不对,核对post-commit文件中所用到的文件路径

2. E155007: None of the targets are working copies
Image2.png
问题原因:这主要是因为需要先在目标目录进行检出,只有目标目录检出[checkout],才能执行钩子中的更新[update]操作
解决办法:post-commit文件中用于部署在服务器的项目需要先SVN checkout,否则post-commit文件在编译时找不到相应的目标项目

3. 文件已经过时
Image3.png
解决办法:客户端提交的时候可能出现文件过时的信息,原因是太久没有文件更新了,先更新文件(SVN update)再提交(如有文件冲突,处理冲突文件后再提交)

4. E200031: sqlite: attempt to write a readonly database
Image4.png

问题原因:客户端提交的时候出现该报错,原因是服务器中Visual SVN Server服务的执行权限不够,不能对指定目录做读写操作。
解决办法:win+R 运行框输入 services.msc 打开服务列表 找到visual svn server 服务,右键-》属性-》登陆面板-》设置桌面交互、使用管理员权限重启服务即可;

5. E50004:Working copy XXX locked
客户端提交的时候提示:
Image5.png
或是服务端更新的时候提示:
Image6.png

解决办法:只需进到服务端文件目录下,执行svn cleanup即可
Image7.png
Image8.png

6. 版本库的UUID不匹配
客户端更新或提交时提示该报错:
Image9.png

uuid是SVN服务器在创建仓库时自动生成的一个随机数,通过这个随机数用来判断服务器和客户端的仓库是否一致,如果不一致,就会引起冲突。

我们要使服务端和客户端的uuid保持一致,很显然,修改服务端的uuid是不可以的,最好是修改我们本地仓库的uuid。要修改uuid,首先得知道服务端的uuid是什么,虽然报错的时候对话框中显示出了服务端的uuid是什么,但是那个不能复制。我们打开VisualSVN Server Manager页面,在中找到相应的repository,右键查看【Propertity】,然后在Details标签页中可以看到这个仓库的uuid了,这里的uuid是可以直接复制的。

直接执行
svnadmin setuuid D:\Repositories\andon ad64c3d-b4ae-8641-b331-d04acc68038d

Lililich's Blog