仅将SNV中的某些分支复制到新的SVN存储库

时间:2014-02-20 19:44:50

标签: svn branch

SVN中是否有一种方法可以在保存历史记录时仅将存储库的某些分支复制到新存储库。我创建了一个分支,后来删除了它。现在我得到一个关于chunked stream期待结束的错误。我只是想回到最初创建分支之前我所处的位置。如果有更好的方法来实现我的目标,请你建议它,因为我对SVN有点新。

提前谢谢

2 个答案:

答案 0 :(得分:0)

您可以只备份当前存储库并将其还原为新存储库,然后删除您不想要的分支。

答案 1 :(得分:0)

  
    

我只想回到最初创建分支之前我所处的位置

  

如果您希望整个存储库回滚到某个旧版本,则可以使用svn dumpsvn load。假设您当前的存储库版本是1500 [HEAD]并且分支是在版本1000处创建的,并且您希望在版本1000处返回存储库中的状态,则可以执行以下操作。

创建从版本1到1000的存储库转储。

svnadmin dump /var/repos/myrepo -r 0:1000 > dumpfile

创建新存储库

svnadmin create /var/repos/newrepo

将转储文件加载到新创建的仓库。

svnadmin load /var/repos/newrepo < dumpfile

svn也提供转储过滤器。我不想让您感到困惑,因此,您可以阅读有关转储过滤器Here

的更多信息

如果您不想回到整个存储库的预览状态,但是您想只返回一个分支,则可以向后合并。

签出分支到本地计算机并合并回创建分支的修订版并提交更改。

svn merge -r 1500:1000 .

svn commit -m "Rolled back to r140"