svn - 如何更改 SVN 存储库以使用主干/分支/标签结构并将工作副本切换到它

标签 svn

我当前的存储库是:/var/www/svn/project .我在项目文件夹中的所有文件。截至目前,它没有主干、分支、标签结构。现在我已经创建了新项目 "/var/www/svn/projectnew"与树干, Twig ,标签。我拿了 的转储"/var/www/svn/project"并加载到 “/var/www/svn/projectnew/trunck”并在 创建了一个分支“/var/www/svn/projectnew/branches/site1”从后备箱。

目前我的工作副本指向 "/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' 不匹配。

帮助我如何解决这个问题?

最佳答案

原始回复:

您可以在这里做两件事 - 一是复制文件 db/uuid如果您只是将 svn 存储库转移到一台新机器并且您打算关闭旧服务器,则从旧服务器到新服务器。另一件事取决于您使用的 SVN 版本。如果您使用的是 1.7,则使用 svn relocate (参见 docs ),或者对于老客户使用 --relocate svn switch 的选项用于此场景的命令。

编辑:

我误解了——你想用主干/分支/标签结构重新创建你的存储库。在这种情况下,转储和重新加载项目将无济于事,因为它不会神奇地创建新结构——它只会重新创建您已有的结构。您可以在存储库浏览器中(如果您使用 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

关于svn - 如何更改 SVN 存储库以使用主干/分支/标签结构并将工作副本切换到它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11554587/

相关文章:

在 Android Studio 中打开项目时出现 SVN 错误

svn - 无法动态部署此插件 : Jenkins

asp.net-mvc-4 - 如何将.patch文件应用到项目中?

svn - 在我的 GoDaddy 共享托管帐户中安装 Subversion 存储库

.net - 将 Subversion 与 .net 项目文件一起使用的任何提示?

c++ - 我如何从 TortoiseSVN 获取单行的历史记录?

java - 使用版本控制很好地重构

eclipse - SVN 提交期间合并冲突

java - 将 Java 项目从 java.net 移动到 bitbucket 的最简单方法是什么

svn - 使用 svn 和 crucible 阻止提交,直到它被审查