刚才,我在Subversion工作副本中构建了一个项目,并尝试将生成的DLL myproject.dll推送到存储库。我从TortoiseSVN得到了这个错误:
提交失败(详情如下):
文件'[myproject.dll的路径]已过期
项目'[myproject.dll的路径]已过期
您必须先更新您的工作副本。
好的,这是有道理的。我检查过的myproject.dll版本是修订版9,最新版本是修订版11. Subversion要求我在提交之前将我的DLL更新到版本11。
好吧,我不想。我不关心修订版9和修订版11之间的区别;我只想要我的修订版。
我知道解决这个问题的一种方法:
有没有更方便的方法,或者我的方法是最好的选择吗?
我不怕使用命令行,但我也有TortoiseSVN,以防提供另一种方法。
(我已经看到了How do you overcome the svn 'out of date' error?的答案,但是他们似乎都没有提出比我现有的方法更容易的方法。)
答案 0 :(得分:1)
这不是您想要听到的答案,但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'
$