【问题标题】:svn commit fails: File not found: Transaction »52-1r«svn 提交失败:找不到文件:事务»52-1r«
【发布时间】:2013-09-17 13:09:55
【问题描述】:

最小可重现故障如下:

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

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

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

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

【问题讨论】:

  • 尝试svn cleanup 然后提交。如果这没有帮助,您将不得不进入服务器并执行svnadmin lslockssvnadmin lstxns。您可能必须使用svnadmin rmlockssvnadmin rmtxns 进行清理。
  • @DavidW。 svn cleanup 没有修复提交。 svnadmin lslockssvnadmin lstxns 都没有返回任何内容。
  • 好的,看看存储库,并确保所有文件和目录的权限都归运行服务器的用户所有(如果您使用的是 Apache,则为 Apache),并且可由该用户写入。我有时会发现错误的权限会允许签出,但不允许提交。
  • @DavidW。哇,我找到了问题...请参阅下面的答案 :) 不过感谢您的提示!
  • 我有一个非常相似的问题。我们使用错误的路径启动了 svn 服务器。

标签: svn


【解决方案1】:

选择 SVN 客户端底部的复选框后,我解决了这个问题。 "创建中间文件夹"

【讨论】:

    【解决方案2】:

    svn cleanup 成功了

    【讨论】:

      【解决方案3】:

      简答

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

      长答案

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

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

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

      【讨论】:

        【解决方案4】:

        在使用客户端创建标签时,您也会收到此消息,方法是复制到存储库中不存在多于一级所需文件夹结构的新路径。 (天哪,这听起来很复杂。)

        换句话说,我试图创建一个标签:

        /projects/MyAwesomeProject/tags/myFirstTag

        ...但是“标签”文件夹还不存在。我希望客户为我完成工作;手动创建“标签”文件夹是解决办法。

        【讨论】:

        • 听起来更好的错误信息会有所帮助:)
        • 谢谢,刚刚遇到这个问题。有趣的是(或以其他方式)如果目录已经存在,它也会失败,因为您刚刚为其创建了完整路径 - 我想我可能可以看到这个的逻辑。
        • svn mkdir 手动创建目录,或使用--parents 参数重新运行,如下所示:svn copy --parents source destination -m "Message"
        • 与我的经历类似。似乎您无法在两层以下创建标签。我有这个问题,这样做。示例:Tag->ChildFolder->SnapshotFolder 删除 ChildFolder 解决了我的问题。但是,如果 SnapshotFolder 尚不存在,它将为我创建它,如果存在则抱怨。
        猜你喜欢
        • 2012-05-21
        • 2011-04-26
        • 2015-10-25
        • 2012-05-06
        • 2011-03-28
        • 2018-02-12
        • 2013-10-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多