本文介绍了svn 提交失败:找不到文件:事务»52-1r«的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

最小可重现失败如下:

> 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:

令我困惑的是,这是一个干净的结帐,没有人接触过 repo(提交没有区别之前的 svn update)并且文件确实存在(我可以 ls it 或 vim it).

What puzzles me is that this is a clean checkout, nobody has touched the repo (an svn update before the commit makes no difference) and the file does exist (I can ls it or vim it).

这里唯一值得注意的是,包含 main.php 的文件夹名称在 r1 和 r52 之间发生了变化.

The only notable thing here is that the folder name which contains main.php has changed between r1 and r52.

这个问题是从哪里来的,为什么那个文件明显存在却找不到?我该如何解决这个问题?

Where does that issue come from, why can that file not be found when it's obviously there? And how can I fix this?

推荐答案

简短回答

我的 subversion 客户端版本已过时.

My client version of subversion was outdated.

长答案

我在 Mac 上运行 MacPorts 并以某种方式假设我有 Subversion 作为其中的一部分安装.唉,我没有,我的 svn 命令是 Apple 的默认 svn,版本 1.6.17 (r1128011),它以 subversion 格式 10 运行.

I'm running MacPorts on my Mac and somehow assumed that I had Subversion installed as a part of that. Alas, I had not, and my svn command was Apple's default svn, version 1.6.17 (r1128011) which runs with subversion format 10.

存储库运行 svn, version 1.7.13 (r1516569),它以 subversion 格式 12 运行.

The repository runs svn, version 1.7.13 (r1516569) which runs with subversion format 12.

更新(即安装)我的本地 svn,版本 1.8.3 (r1516576) 后,它也以格式 12 运行,并且 svn upgrade 我的本地存储库树到当前版本,我可以毫无问题地提交所有更改.

After updating (i.e. installing) my local svn, version 1.8.3 (r1516576) which runs with format 12 as well and svn upgrade my local repository tree to the current version, I could commit all my changes without problems.

这篇关于svn 提交失败:找不到文件:事务»52-1r«的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-27 22:43