Jak*_*old 58 svn svndumpfilter svnadmin svndump
有没有一种简单的方法可以将目录从一个存储库复制到另一个存储库并复制所有历史记录?
Ada*_*dam 79
最简单的方法是使用:
svnadmin dump path/to/repos > repos.out
Run Code Online (Sandbox Code Playgroud)
这将为文件中的存储库(带历史记录)创建可移植格式repos.out
.然后你可以使用
svnadmin load path/to/newrepos < repos.out
Run Code Online (Sandbox Code Playgroud)
将"转储"存储库加载到新的或现有的存储库.
第5章存储库维护 - >迁移存储库数据其他地方有关于svnadmin dump
从1.7版开始使用的注意事项:
Subversion存储库转储格式仅描述版本化存储库更改.它不会携带有关未提交的事务,文件系统路径上的用户锁,存储库或服务器配置自定义(包括钩子脚本)等的任何信息.
Ste*_*epp 35
正如Subversion书中所建议的那样:
svnadmin dump path/to/repos_src \
| svndumpfilter include path/inside/svn/to/directory \
| svnadmin load path/to/repos_dst
Run Code Online (Sandbox Code Playgroud)
举个例子:
svnadmin dump /var/lib/svn/old_repo \
| svndumpfilter include trunk/my_project/common_dir \
| svnadmin load /var/lib/svn/new_repo
Run Code Online (Sandbox Code Playgroud)
cra*_*str 24
如果您不想要历史记录,则可以使用svn export
不带.svn
文件夹的干净文件夹,然后svn import
进入其他存储库.
有了历史,你需要使用svnadmin dump
.然后,您将svndumpfilter
在使用前仅过滤要使用的部件或路径svnadmin load
.
主题阅读:
svnsync
是Subversion远程存储库镜像工具.简而言之,它允许您将一个存储库的修订重放到另一个存储库中.
该svnsync
命令的Subversion文档具有以下警告(从版本1.7开始),这意味着一旦使用其他一些SVN命令修改镜像存储库,则svnsync
不应再次使用该特定镜像:
svnsync
对镜像存储库中所做的更改非常敏感,这些更改不是作为镜像操作的一部分进行的.为了防止这种情况发生,最好是该svnsync
进程是唯一允许修改镜像存储库的进程.
在Subversion版本1.7中,有一个新命令,svnrdump
可用于访问远程存储库并生成与svnadmin dump
命令生成的转储格式相同的转储格式.这允许您使用svnrdump
with svnadmin load
来传输Subversion存储库.
请参阅svnrdump-Remote Subversion存储库数据迁移,其中包含新命令的说明.
在红皮书的第5章中,迁移存储库数据Elsewhere部分有一个子部分存储库数据迁移使用svnrdump
了以下提及:
[之间的主要区别
svnrdump
和svnadmin dump
]是该而不需要到仓库的直接访问,svnrdump
使用Subversion客户端确实非常相同的版本库访问(RA)协议远程操作.因此,您可能需要提供身份验证凭据.此外,您的远程交互[原文如此]受Subversion服务器上配置的任何授权限制.
我还假设svnadmin dump
有关服务器配置自定义(如挂钩)的限制可能无法转移也适用于svnrdump
.
归档时间: |
|
查看次数: |
76355 次 |
最近记录: |