我想用前一版本“覆盖”我的最后一次提交。我试图检查版本631,做一些更改,并将其作为版本633提交。但是svn不同意,因为版本632存在。
最简单的方法是什么?这是一个多文件提交。我不想手动制作。
答案 0 :(得分:9)
不是退房631,而是执行REVERT
到631.然后您可以更改并签入。
答案 1 :(得分:7)
问题有点陈旧,但答案可能对将来参考有用:
嗯,实际上,不应该将过时的文件提交给SVN。出于安全原因,服务器本身拒绝这些文件。 要做的一件事是从上一版本进行更新,但在合并过程中自动保留“过时”文件:
svn up --accept mine-full
换句话说,这将执行更新,但忽略任何传入的合并。
答案 2 :(得分:3)
如果您无法对版本631执行REVERT,请执行以下操作:
答案 3 :(得分:1)
我也想拥有这个功能。为什么没有类似于svn commit --force-overwrite-new-version
的命令?
将SVN修订版631复制到SVN修订版633,然后您可以将更改提交到SVN修订版634.
svn copy remote_url@631 remote_url
svn commit
P.S。 git
也没有此功能。没有git merge foo --force-overwrite
这样的命令。
有时需求会发生变化,因此提交的某些代码变得无用。它经常发生,因此覆盖代码非常有用。我想知道为什么svn
和git
都没有此功能。多么愚蠢的设计!!!
答案 4 :(得分:0)
将具有旧更改的文件复制到其他位置,对文件进行svn更新以检入。完成后,用您的旧文件覆盖新近更新的最新文件,然后进行svn提交。