最小可重现的故障如下:
> mkdir test && cd test
> svn co https://svn.server.com/repo .
> vim php/main.php
> svn commit
Sending php/main.php
Transmitting file data ..svn: Commit failed (details follow):
svn: File not found: Transaction »52-1r«, Path »/php/main.php«
svn: Your commit message was left in a temporary file:
Run Code Online (Sandbox Code Playgroud)
令我困惑的是,这是一个干净的结账,没有人触及回购(svn update在提交之前没有区别)并且文件确实存在(我可以ls或vim它).
这里唯一值得注意的是包含main.php的文件夹名称在r1和r52之间已经改变.
这个问题来自哪里,为什么当文件明显存在时,找不到该文件?我该如何解决这个问题?
Jar*_*uba 35
使用客户端创建标记时,通过复制到存储库中不存在多个所需文件夹结构级别的新路径,您也会收到此消息.(Jeez听起来很复杂.)
换句话说,我试图创建一个标签:
/项目/ MyAwesomeProject /标签/ myFirstTag
...但'tags'文件夹尚未存在.我希望客户能为我做这项工作; 手动创建'tags'文件夹是治愈方法.
简答
我的客户端版本的subversion已经过时了.
答案很长
我在我的Mac上运行MacPorts,不知何故假设我安装了Subversion作为其中的一部分.唉,我没有,而且我的svn命令是Apple的默认值svn, version 1.6.17 (r1128011),它以subversion格式10运行.
存储库运行svn, version 1.7.13 (r1516569)以subversion格式12运行.
更新(即安装)我的本地svn, version 1.8.3 (r1516576)运行格式12以及svn upgrade我的本地存储库树到当前版本后,我可以毫无问题地提交所有更改.