撤消SVN从仓库中删除

撤消SVN从仓库中删除,svn,Svn,可能重复: 我想将一个名为prj1的新项目导入仓库。在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://someur

可能重复:

我想将一个名为prj1的新项目导入仓库。在prj1内部有sub1sub2

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
结果,分支消失了。在分支中,与prj1并行,还有一些其他项目我没有本地副本(没有签出)。我想知道是否有任何方法可以撤消意外删除分支的svn并将其带回仓库

编辑:

根据Lekensteyn、Lazy Badger和的建议,我通过检查最新版本(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 :)"

您的导入和删除是存储库中的独立修订版(请使用
svn log
进行检查)

撤销SVN中的任何提交都是反向合并的工作:您必须知道提交的修订ID以及删除、签出受影响的路径(
http://someurl.com/project/
-是的,可能是巨大的签出,但这是您的问题),将错误的修订反向合并,并将撤消的修订提交到回购中


另一种方法是签出
http://someurl.com/project/branches/
在最新版本中,当它存在时(使用PEG语法),分支它,更新到头部,合并分支(真正还原树),在WC中检查结果,提交您的导入和删除是存储库中的独立版本(使用
svn日志检查它)

撤销SVN中的任何提交都是反向合并的工作:您必须知道提交的修订ID以及删除、签出受影响的路径(
http://someurl.com/project/
-是的,可能是巨大的签出,但这是您的问题),将错误的修订反向合并,并将撤消的修订提交到回购中


另一种方法是签出
http://someurl.com/project/branches/
在最新版本中,当它存在时(使用PEG语法),分支,更新到头部,合并分支(真正还原树),在WC中检查结果,提交

@Lekensteyn:这个问题似乎是关于撤消从本地目录中删除文件的操作。我的问题是如何在没有其他项目本地副本的情况下从depo中删除文件夹。这里的SVN文档将两者区分开来:我无法直接想到在本地端执行此操作的SVN命令,但如果您具有服务器端访问权限,则可能会有所帮助。我没有服务器端访问权限您无法签出/投影并使用
SVN merge
返回到以前版本的任何原因?请看链接问题。谢谢。这对我有用。添加到问题中的详细信息。@Lekensteyn:这个问题似乎是关于撤消从本地目录中删除文件的操作。我的问题是如何在没有其他项目本地副本的情况下从depo中删除文件夹。这里的SVN文档将两者区分开来:我无法直接想到在本地端执行此操作的SVN命令,但如果您具有服务器端访问权限,则可能会有所帮助。我没有服务器端访问权限您无法签出/投影并使用
SVN merge
返回到以前版本的任何原因?请看链接问题。谢谢。这对我有用。问题补充了细节。