我当前的存储库是: / var / www / svn / project 。所有项目文件夹中的文件。目前没有主干,分支,标签结构。现在我用
目前我的工作副本指向“/ var / www / svn / project”。我试图将我的工作副本从“/ var / www / svn / project”切换到“/ var / www / svn / projectnew / branches / site1”,但它说,
存储库UUID'd3f06af7-c344-2d45-b1bd-7799e0e99d7a'与预期的UID'f5f9f6ac-3f50-7e4d-a9d4-0bc9a9b443b8'不匹配。
请教我如何使用它?
答案 0 :(得分:7)
原始回复:
这里有两件事你可以做 - 一个是将文件db/uuid
从旧服务器复制到新服务器,如果你只是将svn存储库转移到新机器而你打算关闭旧的。另一件事取决于您正在使用的SVN版本。如果您使用的是1.7则使用svn relocate
(请参阅docs),或者对于较旧的客户端,请使用适用于此方案的--relocate
命令的svn switch
选项。 / p>
编辑:
我误解了 - 您希望使用trunk / branches / tags结构重新创建存储库。在这种情况下,转储和重新加载项目将无济于事,因为它不会神奇地创建新结构 - 它只会重新创建您已有的结构。您可以轻松地在存储库浏览器中创建新结构(如果您正在使用TortoiseSVN)或直接从您的工作副本创建。如果您是从命令行执行此操作,则语法将类似于此,具体取决于确切的目录结构。将http:.../
替换为svn服务器的地址。哦,首先备份存储库!
# check out top-level directory
svn co http://.../
# make new trunk dir and move all contents to it -- note spelling of 'trunk'
mkdir trunk
svn add trunk
svn mv * trunk
# now create tags and branches
mkdir tags
mkdir branches
svn add trunk tags branches
svn commit -m "Created new repository layout"
现在,您需要做的就是切换现有的工作副本:
svn switch http://.../project http://.../trunk/project
答案 1 :(得分:0)
另一种方法是保持历史不变,并从新版本开始切换到新结构。在这种情况下,您不需要使用存储库进行转储/加载操作。