版本控制-只需将SVN存储库复制到外部HDD是否安全



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

考虑使用热拷贝:

svnadmin hotcopy--制作存储库的热拷贝。。。

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

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

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

您不应该因为复制而有损坏主存储库的风险。但是,如果在复制时锁定了某些内容,则副本可能已损坏。

您可以使用SyncBackSE等应用程序,该应用程序可以安排备份,并在锁定时使用卷影复制。

您写道:

现在,我的SVN存储库在我笔记本电脑的HDD上,我只是每周复制一次目录

有一个问题要问你:为什么?

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

如果你的副本只是一个副本,那就一点也不。如果你的"副本"打开了一些锁定进行写作的文件,你可能会面临风险(你在评论中说,这看起来像是你在windows下,可能发生在windows上)-如果有另一个进程试图同时在repo中写入内容。

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

真正的问题是:您是否出于备份目的进行复制?如果是这样,复制它可能是无用的(取决于还原过程的细节)。请参阅:http://svnbook.red-bean.com/en/1.5/svn.reposadmin.maint.html#svn.reposadmin.maint.migrate

最后:使用svnadmin转储

我以前使用闪存盘,只是在它上面创建了一个基于文件的repo。唯一的缺点(除了忘记它!)是闪存盘在每台电脑上都必须有相同的驱动器号,而且速度很快,感觉就像是网速很慢。

除此之外,它运行得很好。

最新更新