【问题标题】:TortoiseSVN error "Commit failed. File is out of date"TortoiseSVN 错误“提交失败。文件已过期”
【发布时间】:2015-02-26 13:58:58
【问题描述】:

我曾多次尝试使用 TortoiseSVN 删除/取消版本化文件,每次尝试提交更改时,都会遇到相同的错误。

Commit failed (details follow): '/trunk/lib/Web.Debug.config' is out of date.
You have to update your working copy first.

更新文件/文件夹完成且没有错误。使用 repo-browser 我已经验证该文件仅存在于本地副本中。使用 Extended Context Menu → Delete (keep local) 删除并提交仍然会出现相同的错误。

【问题讨论】:

    标签: svn tortoisesvn ankhsvn


    【解决方案1】:

    Subversion 不允许您提交对项目的更改,除非您的工作副本知道该项目的最新版本的状态。您收到的消息告诉您,您正在尝试对存储库中可能不再存在或可能不再存在的项目进行操作,或者自您上次检查存储库以来可能已更改。因此,它不会让您继续,因为无法验证您要提交的内容是否正确/有效 - 您无法对存储库中不存在的内容提交更改。

    【讨论】:

    • 那么我怎样才能删除/取消版本文件并防止 tortoisesvn 将其显示为版本化项目?
    • 您确实必须先更新文件。由于您无论如何都要删除该文件,您可以撤消/恢复您的更改(删除),将文件更新到最新版本,然后通过svn remove 或通过 IDE 重做删除。
    • 这就是我一直在做的事情。还原/更新,然后尝试将其从存储库中删除,但始终返回错误。该文件仅存在于本地工作副本中,而不存在于主存储库中。
    • 将文件移动到另一个目录,运行 SVN 更新,然后将其移回。
    • 移动文件听起来是一个可行的解决方案。但是,解决了以下问题:在存储库中创建了类似的文件并进行了更新。这导致skipped obstructing working copy 和警告One or more files are in a conflicted state. 已删除包含有问题文件的文件夹。更新导致working copy path does not exist in repository。阅读SVN Endless Loop...,我意识到我已经移动了一些文件夹。选择完全放弃工作副本并重新结帐。
    猜你喜欢
    • 1970-01-01
    • 2014-02-22
    • 2011-04-30
    • 1970-01-01
    • 2011-03-18
    • 2014-12-31
    • 1970-01-01
    • 2019-07-19
    • 2017-08-02
    相关资源
    最近更新 更多