【发布时间】:2012-12-01 15:16:40
【问题描述】:
我想将一个名为 prj1 的新项目导入到 depo 中。 prj1里面有sub1、sub2、...
cd prj1
svn import prj1 http://someurl.com/project/branches/
但这是错误的路径,我应该在上述行的末尾添加 prj1,所以我打算删除 prj1 中的子项目,我打算这样做:
svn remove http://someurl.com/project/branches/sub1
但我做错了:
svn remove http://someurl.com/project/branches
因此,branchs 消失了。在 branches 内,与 prj1 平行,还有一些其他项目我没有本地副本(尚未检查出来)。我想知道是否有任何方法可以撤消意外 svn 删除 branches 并将其带回仓库。
编辑:
按照 Lekensteyn、Lazy Badger 和 https://stackoverflow.com/a/3128696/1383356 的建议,我通过检查最新版本 (102) 解决了这个问题,并使用 svn merge 回滚到版本 100(导入之前)。以下是详细信息:
svn co http://someurl.com/project
cd project
svn merge -r 102:100 http://someurl.com/project
svn commit -m "Rolling back to the old days of r100 :)"
【问题讨论】:
-
@Lekensteyn:这个问题似乎是关于撤消从本地目录中删除文件的操作。我的问题是关于在没有其他项目的本地副本的情况下从 depo 中删除一个文件夹。此处的 SVN 文档区分了两者:svnbook.red-bean.com/en/1.6/svn.ref.svn.c.delete.html
-
我无法直接想到在本地执行此操作的 SVN 命令,但如果您具有服务器端访问权限,stackoverflow.com/q/402159/427545 可能会有所帮助。
-
我没有服务器端访问权限
-
有什么理由不能签出 /project 并使用
svn merge回到以前的版本?请参阅链接的问题。 -
谢谢。这对我有用。问题中添加了详细信息。
标签: svn