8

现在,我的 SVN 存储库位于笔记本电脑的 HDD 上(尽管我将代码托管服务用于更“关键”的个人项目),我只是每周复制一次目录(最终将被脚本化,或者我可能会制作一个应用程序的地狱)。我是否有损坏我的 SVN 存储库的风险?到目前为止,我对原件或副本都没有任何问题,但这并不意味着我将来没有风险。

4

6 回答 6

12

考虑使用热拷贝

svnadmin hotcopy — 制作存储库的热副本...

此子命令对存储库进行完整的“热”备份,包括所有挂钩、配置文件,当然还有数据库文件。如果您通过--clean-logs切换,svnadmin将对您的存储库执行热拷贝,然后从原始存储库中删除未使用的 Berkeley DB 日志。您可以随时运行此命令并制作存储库的安全副本,无论其他进程是否正在使用该存储库...

于 2008-10-09T17:32:20.150 回答
3

AFAIK 它是安全的,但为什么不导出备份呢?

于 2008-10-09T17:30:33.010 回答
2

您可能是安全的,但这只是因为您知道没有人在访问您笔记本电脑上的存储库。但是,svn (svnadmin) 提供了热复制和转储命令,它们与您的复制命令一样容易运行,并且它们是“保证安全的”。

于 2008-10-09T17:42:06.403 回答
1

您不应该冒着破坏主存储库的风险,只是做一个副本。但是,如果在复制时某些内容被锁定,则副本可能会损坏。

您可以使用诸如SyncBackSE之类的应用程序,它可以安排备份并在锁定的情况下使用卷影副本。

于 2008-10-09T17:34:53.797 回答
0

你写了:

现在,我的 SVN 存储库位于笔记本电脑的硬盘上,我只需每周复制一次目录

给你一个问题:为什么?

我是否有损坏我的 SVN 存储库的风险?

如果您的副本只是这样,则根本不是:副本。如果您的“副本”打开了一些锁定的文件以供写入,您可能会处于危险之中(您在评论中说它看起来像是在 Windows 下,并且可能发生在 Windows 上) - 如果有另一个进程试图将某些内容写入同时回购。

到目前为止,我对原件或副本都没有任何问题,但这并不意味着我将来没有风险。

真正的一点是:您是否出于备份目的进行复制?如果是这样,则副本可能没用(取决于还原过程的详细信息)。请参阅: http ://svnbook.red-bean.com/en/1.5/svn.reposadmin.maint.html#svn.reposadmin.maint.migrate

所以最后: 使用 svnadmin dump

于 2008-10-21T19:38:19.473 回答
0

我曾经使用闪存盘,只是在上面创建了一个基于文件的存储库。唯一的缺点(除了忘记它!)是闪存盘必须在每台 PC 上具有相同的驱动器号,而且速度感觉就像互联网连接速度很慢。

否则,它工作得很好。

于 2008-10-21T19:42:21.587 回答