我可以告诉 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 之间的区别;我只想要 我的 版本。
我知道一种解决此问题的方法:
- 将myproject.dll复制到myproject2.dll。
- 将 myproject.dll 更新到修订版 11 以使 Subversion 满意。
- 将 myproject2.dll 重命名回 myproject.dll,覆盖修订版 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'
$
刚才,我在 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 之间的区别;我只想要 我的 版本。
我知道一种解决此问题的方法:
- 将myproject.dll复制到myproject2.dll。
- 将 myproject.dll 更新到修订版 11 以使 Subversion 满意。
- 将 myproject2.dll 重命名回 myproject.dll,覆盖修订版 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'
$