一个非常聪明的开发人员删除了几乎整个存储库并提交了它(rev 210)。我在我的电脑上有一个工作副本,但存储库相当大。
我想创建一个新版本(211),它与最后一个好的版本(209)完全相同。我不希望保留来自错误提交的210版本的任何内容。这是开发者的问题,他们必须自己重新编写一切。
有什么好主意吗?
我想创建一个新版本(211),它与最后一个好的版本(209)完全相同。我不希望保留来自错误提交的210版本的任何内容。这是开发者的问题,他们必须自己重新编写一切。
有什么好主意吗?
svn merge -c -210 .
然后提交:
svn ci -m "reverse merged revision 210"
有一种不太好的方法适用于我...前提是您想要删除最后一次提交而不是中间某个提交。
首先-关闭svn服务器并通过svnadmin hotcopy repo repo_backup
备份您的repo
进入SVN服务器并处理您的repo。查看./db/revs/X/,其中X是错误提交的第一个数字。您可以在那里看到错误的提交文件(例如123)。删除此文件,然后修改./db/current以指向之前的提交(例如122)。
如果您正在使用Tortoise SVN,请稍微修改已接受的答案
在Linux机器上一个基本的方法是:
cp PRJ ../../bkup
svn up PRJ
cp ../../bkup PRJ
cd PRJ
svn add *
svn ci -m "everything again" PRJ