标签: svnadmin

如何将SVN存储库迁移到另一个SVN存储库?

有没有一种简单的方法可以将目录从一个存储库复制到另一个存储库并复制所有历史记录?

svn svndumpfilter svnadmin svndump

58
推荐指数
5
解决办法
8万
查看次数

如何从包含多个项目的SVN存储库中转储一个项目?

我正在使用包含许多项目的SVN存储库.我需要将一些项目从该存储库移到单独的存储库中,每个项目一个,保留历史记录.

我已经能够使用svnadmin dump将整个存储库转储svnadmin load到另一个存储库中,但是我找不到从原始存储库中只转储一个项目的方法,因此我可以将其加载到新的存储库中.这可能吗?如果是这样的话?

svn svndumpfilter svnadmin svndump

42
推荐指数
1
解决办法
5万
查看次数

SVN将单个目录移动到其他存储库(带历史记录)

相关问题:将存储库中继移动到另一个分支(具有历史记录)


我知道可以转储包含历史记录的完整 SVN存储库,并使用以下命令将其加载到目标存储库的用户定义(子)目录中:

// in source repo
> svnadmin dump . > mydumpfilename

// in destination repo (backslashes because I'm using Windows)
> svnadmin load . < mydumpfilename --parent-dir some\sub\directory
Run Code Online (Sandbox Code Playgroud)

但这会将完整存储库导入目标存储库的子目录.我想要的是在源存储库中定义应该导出的子目录.有点像svnadmin dump . --source-path old\sub\dir > mydumpfilename.

我怎样才能做到这一点?如果TortoiseSVN可以这样做,请说出来;)


解决方案:感谢Tim Henigan的回答,这是正确的方法:

// execute in destination repo
svndumpfilter include source\sub\dir < mydumpfilename | svnadmin load . --parent-dir destination\sub\dir
Run Code Online (Sandbox Code Playgroud)

希望这也能帮助别人......

svn tortoisesvn repository svnadmin subdirectory

37
推荐指数
1
解决办法
2万
查看次数

如何使用一个损坏的修订版修复存储库?

我的家庭服务器出现硬盘故障.

一旦我意识到磁盘正在运行,我就登录并直接复制了我的存储库,其中包含多个项目.

但是,由于磁盘发生故障,其中一个修订版本被破坏:

$ svnadmin verify master/
[...]
* Verified revision 820.
* Verified revision 821.
* Verified revision 822.
svnadmin: No such revision 823
Run Code Online (Sandbox Code Playgroud)

master/db/revs/master/db/revprops/目录做的,的确,不包含任何所谓的文件823,所以这个版本缺少(断).随后的修订版(我真的想保留!)在master/版本#947 的存储库中.

今天我拿到了我最近的异地备份(!),其中包含了这个版本.我想master/通过修复缺少的修订来"修复"损坏的存储库,因为它比备份更新.

我确保将转储文件加载到新创建的存储库中,该存储库与复制的存储库具有相同的版本master/,因此它是所有旧的"线性"格式3.

我尝试了显而易见的,只是823从备份db/revs/db/revprops/目录中复制文件:

$ cp repos/db/revs/0/823 master/db/revs/
$ cp repos/db/revprops/0/823 master/db/revprops/
Run Code Online (Sandbox Code Playgroud)

该目录repos/包含已从备份转储加载的存储库.现在我得到:

$ svnadmin verify master/
[...]
* Verified revision 821.
* Verified revision 822.
svnadmin: /build/buildd/subversion-1.6.12dfsg/subversion/libsvn_delta/compose_delta.c:165: search_offset_index: Assertion `offset < ndx->offs[ndx->length]' failed. …
Run Code Online (Sandbox Code Playgroud)

svn svnadmin

37
推荐指数
1
解决办法
4万
查看次数

从dumpfile加载Svnadmin会导致"找不到文件错误".救命?

鉴于:

Repository_1 - 来源

Repository_2 - 目的地

我使用svnadmin和svndumpfilter的组合创建了Repository_1/Folder1的转储文件

从转储文件从Repository_1/Folder1加载到Repository_2/Trunk时,一切都很好但是很好

Repository_1/Folder1/Sub文件夹(为此创建另一个转储)加载到Repository_2/trunk时,我收到以下错误:

svnadmin: File not found: transaction '267-89', path 'trunk/Folder1/Sub-folder'
Run Code Online (Sandbox Code Playgroud)

谁能解释一下?

svn dump svnadmin

27
推荐指数
1
解决办法
3万
查看次数

Subversion Obliterate功能

我只是想编写一个shell脚本来以易于实现的方式实现删除功能(外部,使用建议的方式,但是自动化).

这就是我的想法:

在客户端

  1. svn list -R > file-list.
  2. 过滤文件列表有几种方式,比如grep来创建一个文件"files-to-delete",类似于一组grep XXX file-list>>files-to-delete.
  3. files-to-delete使用scp 传输到服务器.

在服务器上

  1. 转储存储库svnadmin dump /path/to/repos > repos-dumpfile,这也可以作为备份保存.
  2. 过滤转储文件,对于"要删除的文件"中的每个单词,执行: cat repos-dumpfile | svndumpfilter exclude $file > new-dumpfile
  3. 创建一个新的存储库并将新文件加载到该存储库 svnadmin create new-name; svnadmin load new-name < new-dumpfile

这会有用吗?怎么会失败?还有其他想法吗?

svn svndumpfilter svnadmin svndump

22
推荐指数
2
解决办法
1万
查看次数

如何在svn存储库中设置权限?

我在网络驱动器上创建了一个存储库svnadmin create repos.

有没有办法为存储库设置用户权限?

如果是这种情况,如何设置这些权限?

svn svnadmin user-permissions

17
推荐指数
1
解决办法
7万
查看次数

如何将SVN存储库从一个服务器移动到另一个服务器

我需要将现有的SVN存储库从一个开发服务器复制到另一个开发服务器.根据我的理解,我已经提出了步骤.如果有人可以验证并告诉我是否遗漏了任何一点,那将是很棒的.

Current server: dev10.dev.location.somename.com
Current repo location: dev10$/export/svnrepo/reponame
URL: svn:// dev10.dev.location.somename.com/export/svnrepo/newrepo/trunk

New server: dev11.dev.location.somename.com
New repo location: dev11$/export/svnrepo/newrepo
Run Code Online (Sandbox Code Playgroud)

我想有一个像svn://dev11.dev.location.somename.com/export/svnrepo/newrepo/trunk这样的网址.我是否需要导入新的存储库?

SVN server --- **svnserve**
Run Code Online (Sandbox Code Playgroud)

脚步:

  1. 在dev11中安装svnserve服务器

  2. 检查工作目录在dev10完全检入Subversion,然后备份.

  3. 转储Subversion存储库.这是通过svnadmin命令完成的:在dev10

    svnadmin dump /export/svnrepo/reponame | gzip -9 - > reponame.dump.gz
    
    Run Code Online (Sandbox Code Playgroud)
  4. 在dev11创建新的subversion存储库---- 要创建存储库'newrepo',请svnadmin create从$ SVNHOME/bin 运行命令.在dev11提供存储库的完整路径.

    svnadmin create /export/svnrepo/newrepo
    
    Run Code Online (Sandbox Code Playgroud)
  5. 将reponame.dump.gz文件复制到dev11服务器.

  6. 将dumpfile加载到新存储库:dev11

    zcat reponame.dump.gz | svnadmin load /export/svnrepo/newrepo
    
    Run Code Online (Sandbox Code Playgroud)
  7. 将新存储库签出到dev11的目录

    svn co svn:// dev11.dev.location.somename.com/export/svnrepo/newrepo/trunk
    
    Run Code Online (Sandbox Code Playgroud)
  8. 将我的工作目录切换到新的存储库.

svn svnadmin svn-repository svnserve

17
推荐指数
0
解决办法
1万
查看次数

svnrdump dump和svnadmin dump之间的区别

我需要转储svn存储库.我发现了两个解决方案

svnrdump dump

svnadmin dump

svnrdump dump是一样的svnadmin dump吗?

如果没有,这两个命令之间有什么区别?

svn dump svnadmin svndump

14
推荐指数
2
解决办法
7509
查看次数

svndumpfilter失败并显示"无效的复制源路径..."错误

我想将我的部分SVN repo移到异地,转到AWS实例并关注此页面(存储库维护)

我已经使用dump了整个仓库(Windows命令):

  • svnadmin dump c:\repo > all_repo

接下来是过滤它,只包括我感兴趣的项目(称为"M1").

  • type all_repo | svndumpfilter include M1 --drop-empty-revs > m1

我知道这是正确的,因为我已经在其他一些项目上做过了.


在这个项目中,它打破了这篇文章标题中指出的错误.确切的措辞是:

svndumpfilter:无效的复制源路径'/ Personal/Richard/M1_Config'

该过程试图写入不存在的管道.

错误引用的文件夹是我在个人文件夹下编写和提交的配置实用程序,它根本不在root/m1 ...文件夹下.我不想将它包含在过滤文件中,但不知道如何向svn命令指明这一点.

  1. 如何正确筛选整个M1文件夹及其子文件,同时完全排除Personal/Richard/M1_Config文件夹?
  2. 如何确定导出的文件是否包含正确重新创建远程SVN上的M1文件夹的正确信息?

svn svndumpfilter svnadmin

13
推荐指数
2
解决办法
2万
查看次数