2009-08-18 269 views
8

的主要服务器发生故障后,SVN仓库被摧毁,我的工作版本是最新的一个,重建SVN仓库

什么是从我的工作版本重新svn库的方式吗?

一个新的服务器上安装SVN,并试图在我的工作拷贝

svn switch NEW_SVN_PATH . 

后,我得到一个错误

Repository UUID '1c604742-6b16-462b-86e4-cc8bce959242' doesn't match expected UUID '6df69aeb-a72c-450d-8102-24036a3855f7' 
+2

我最好的建议是备份服务器svn目录结构。 – Powerlord 2009-08-18 13:18:02

回答

7
  1. 已存储在旧库的发展历史将丢失。

  2. 您可以使用工作副本的当前内容创建一个新的存储库,但这确实是一个新的存储库。你不能switch它,甚至没有--relocate

如果您已经设法将工作副本的内容导入到新的存储库中,则只需将其检出即可。如果不是:

svn export WORKING_COPY WORKING_COPY.export # the exported copy will contain no .svn dirs 
svn import WORKINGCOPY.export svn://example.com/new-repository 
svn checkout svn://example.com/new-repository NEW_WORKING_COPY 
+0

这是否意味着所有属性(如svn:ignore)也都丢失了? – 2011-11-28 19:21:09

+0

是的。工作副本中除文件名称和内容以外的所有内容都将丢失。 – bendin 2011-12-02 21:56:09

+0

好吧,现在我有另外一个问题......这些愚蠢的.svn文件夹是什么时候用于历史?我现在把所有的仓库搬到git上,这就够了,svn! – jebbie 2013-08-27 15:04:01

4

如果你想恢复历史,你的运气了.. SVN的历史保存在版本库中,而不是工作副本...

如果你想开始一个新的回购工作副本中的数据(只是文件,而不是历史),你可以做那个机智^ h svn importsvn export

svn export <wc-path> <clean-dir-path> 
svn import <clean-dir-path> <empty-repo-url> 
0

我想(做别人暗示什么)创建一个新的回购之前清除掉.svn目录在你的工作文件夹。我只是这样说,因为过去我遇到了一些困扰我的新回购或我的客户的问题。 祝你好运!