首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对SVN仓库所需文件进行备份

对SVN仓库所需文件进行备份
EN

Stack Overflow用户
提问于 2009-11-06 20:33:45
回答 3查看 545关注 0票数 0

我需要备份我的SVN存储库的一个文件夹。为此,我尝试使用svndump和svndumpfilter命令,但都没有用。

谁能用一个例子来解释如何做到这一点。

更新:

我有一个存储库,其中我有一个文件夹,名为"Test“。除了这个“测试”之外,我的存储库中还有更多的文件夹/项目。如果我想要完全备份我的存储库,它消耗了更多的内存(30 gb),所以我想只将带有历史记录的"Test“文件夹转移到另一个存储库,这样我就可以只对"Test”文件夹(新存储库)进行常规备份,因为它占用的内存更少。(我不需要定期备份其他文件夹,但“Test”除外)

我该怎么做呢?

EN

回答 3

Stack Overflow用户

发布于 2009-11-06 20:47:56

如果您想要的是文件本身的当前状态的备份(实际上并不想要完整的版本历史),请使用svn export

如果你试图备份历史,那么我同意Rohith的回答。

票数 4
EN

Stack Overflow用户

发布于 2009-11-06 20:39:57

由于SVN在每次提交时都会对整个树进行版本化,因此如果您尝试只备份源树的一部分,然后再尝试恢复该备份,则很可能会遇到麻烦。

票数 3
EN

Stack Overflow用户

发布于 2009-11-18 05:19:55

根据您的后续工作,您想要做的是从单源存储库生成两个新存储库。

SVN红皮书很好地解释了这一点:http://svnbook.red-bean.com/nightly/en/svn.reposadmin.maint.html#svn.reposadmin.maint.filtering

简而言之,您从一个原始存储库开始,创建一个转储文件,然后使用svndumpfilter生成两个过滤后的转储文件(一个有测试,一个没有)。

代码语言:javascript
复制
svnadmin dump origin > origin.dump
svndumpfilter include Test < origin.dump > testonly.dump
svndumpfilter exclude Test < origin.dump > no-test.dump

如果您觉得很活泼,可以编辑两个过滤过的转储文件,以排除根节点创建语句(在文档链接中谈到)。

创建新的repos:

代码语言:javascript
复制
svnadmin create testrepo
svnadmin create neworigin

现在,加载转储文件:

代码语言:javascript
复制
svnadmin load --ignore-uuid testrepo < testonly.dump
svnadmin load --ignore-uuid neworigin < no-test.dump

现在,您有了两个新的代码库,因此您可以暂停原始代码库中的开发,并使用neworigin和testrepo代码库。在那里,您可以使用svnadmin dump仅为testrepo生成转储文件,并将该转储文件放入正常的备份过程中。

代码语言:javascript
复制
svnadmin dump testrepo > testrepo-backup.dump
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1687293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档