我可以告诉 SVN 忽略 "commit failed; out of date" 错误并强制提交吗?

Can I tell SVN to ignore "commit failed; out of date" errors and force a commit?

刚才,我在 Subversion 工作副本中构建了一个项目,并试图将生成的 DLL myproject.dll 推送到存储库。我从 TortoiseSVN 收到这个错误:

Commit failed (details follow):
File '[path to myproject.dll]' is out of date
Item '[path to myproject.dll]' is out of date
You have to update your working copy first.

好的,有道理。我签出的 myproject.dll 版本是修订版 9,最近的修订版是修订版 11。Subversion 要求我在提交之前将我的 DLL 更新到修订版 11。

好吧,我不想。我不关心修订版 9 和修订版 11 之间的区别;我只想要 我的 版本。

我知道一种解决此问题的方法:

有没有更方便的方法,或者我的方法是可用的最佳选择?

我不怕使用命令行,但我也有 TortoiseSVN,以防它提供另一种做事方式。

(我看过 How do you overcome the svn 'out of date' error? 的答案,但其中 none 似乎提出了一种比我已有的方法更简单的方法。)

这不是您想听到的答案,但 Subversion 不是为二进制文件设计的。您的解决方法确实是最好的方法。

另一个解决方案是继续svn up。你会遇到冲突。然后使用 svn resolve --accept mine-full conflicted_file.dll 并且您将用您所做的任何事情覆盖存储库版本。请注意不要覆盖同事的工作。

$ svn update
Conflict discovered in 'foo.c'.
Select: (p) postpone, (df) diff-full, (e) edit,
        (mc) mine-conflict, (tc) theirs-conflict,
        (s) show all options: p
C    foo.c
Updated to revision 5.
Summary of conflicts:
  Text conflicts: 1
$ svn resolve --accept mine-full foo.c
Resolved conflicted state of 'foo.c'
$