将SVN存储库复制到外部HDD是否安全?

将SVN存储库复制到外部HDD是否安全?,svn,version-control,backup,Svn,Version Control,Backup,现在,我的SVN存储库位于我笔记本电脑的硬盘上(尽管我使用代码托管服务来处理更“关键”的个人项目),我只是每周复制一次目录(最终会编写脚本,或者我可能会制作一个应用程序)。我是否有可能损坏我的SVN存储库?到目前为止,我对原件或副本没有任何问题,但这并不意味着我将来不会有风险。既然安全,为什么不导出备份呢?考虑使用: svnadmin热拷贝-制作存储库的热拷贝 此子命令对存储库进行完整的“热”备份,包括所有挂钩、配置文件,当然还有数据库文件。如果通过--clean logs开关,svnadmin

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

既然安全,为什么不导出备份呢?

考虑使用:

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

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


您不应该仅仅做一个拷贝就有损坏主存储库的风险。但是,如果在复制时锁定了某些内容,则副本可能会损坏


您可以使用这样的应用程序,它可以安排备份并在锁定时使用卷影副本。

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

您写道:

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

问你一个问题:为什么

我是否有可能损坏我的SVN存储库

如果你的拷贝只是一个拷贝,那就不需要了。如果你的“拷贝”打开了某个锁定写入的文件,你可能会面临风险(你在评论中说,它看起来像是在windows下,而且可能发生在windows上)——如果同时有另一个进程试图将某个内容写入回购协议

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

真正的问题是:您复制是为了备份吗?如果是这样的话,复制它可能是无用的(取决于恢复过程的细节)。见:

因此,最后:
使用svnadmin dump

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


除此之外,它工作正常。

我的存储库实际上在我的文档中。我只是每周复印一次文件中的所有内容。这更容易更快,但我应该使用导出。这就是它的用途,不是吗?不,你应该使用dump,export用于导出代码,而不需要任何版本控制信息。热拷贝是最安全的方法,恢复也很容易。好球!