SVN从另一个存储库的文件夹创建一个新的存储库

SVN从另一个存储库的文件夹创建一个新的存储库

我在我的另一个 Linux 安装上创建了一个 svn 存储库。我是新手,并在该存储库中提供了整个 Netbeans 项目文件夹。我现在决定将源文件保存在一个目录中,并将 SVN 存储库根目录保存在另一个路径中。问题是我不知道/无法想象如何将源文件夹添加到新存储库不破坏其当前的修订号。让我演示一下:

旧仓库:

/home/username/Desktop/SVN--> 存储库路径

/home/username/NetbeansProjects/prj--> 通过“svn import ...”导入并进一步开发

新的 repo(我想在新的 Linux 安装上完成的 repo):

/home/username/Desktop/SVN/prj--> 存储库路径

/home/username/Desktop/KOD/prj--> 我想从此路径(即@rev 31)提供旧 repo 的 /home/username/NetbeansProjects/prj/src/prj/*

任何帮助都值得赞赏。

答案1

您需要将旧的 repo 转储到一个文件中,然后将该文件导入到新的 repo 中:

svnadmin dump /home/username/Desktop/SVN > svn.dump

svnadmin load /home/username/Desktop/SVN/prj < svn.dump

您还可以保留转储文件作为备份,以防出现问题。如果您在两个服务器中使用相同版本的 SVN,您也可以复制目录。SVN Dump 与版本无关。

答案2

我遇到过类似的问题。我在 Google 上搜索了很多次,发现没有工具可以直接在 dump 中重命名文件,也没有办法svnadmin load重命名文件。因为我有一个小仓库,所以我用 vim 手动完成了这个操作:只需将其替换 Node-path: trunk/very/log/path/to/project/directoryNode-path: trunk/directory

PS 我的转储是 SVN-fs-dump-format-version: 2

相关内容