现在,我的SVN存储库位于笔记本电脑的硬盘上(虽然我使用代码托管服务来处理更多“关键”个人项目)而我只是每周复制一次目录(最终会编写脚本或者我我会为它做一个应用程序。)我是否有破坏我的SVN存储库的风险?到目前为止,我对原件或副本没有任何问题,但这并不意味着我将来不会有风险。
答案 0 :(得分:12)
考虑使用hot copy:
svnadmin hotcopy - 制作存储库的热门副本......
此子命令对存储库进行完整的“热”备份,包括所有挂钩,配置文件,当然还有数据库文件。如果您传递
--clean-logs
开关,svnadmin
将执行存储库的热拷贝,然后从原始存储库中删除未使用的Berkeley DB日志。您可以随时运行此命令并制作存储库的安全副本,无论其他进程是否正在使用存储库...
答案 1 :(得分:3)
AFAIK它是安全的,但为什么不进行导出备份呢?
答案 2 :(得分:2)
您可能是安全的,但仅仅是因为您知道没有人访问您笔记本电脑上的存储库。但是,svn(svnadmin)提供的热拷贝和转储命令与复制命令一样容易运行,并且它们“保证安全”。
答案 3 :(得分:1)
您不应该只是在进行复制时破坏主存储库的风险。但是,如果在复制时锁定了某些内容,则副本可能会损坏。
您可以使用SyncBackSE之类的应用程序来安排备份,并在锁定时使用卷影副本。
答案 4 :(得分:0)
您写道:
现在,我的SVN存储库位于笔记本电脑的HDD上,我只是每周复制一次目录
问题:为什么?
我是否有破坏SVN存储库的风险?
如果您的副本只是:副本,则完全没有。如果您的“副本”打开了一些文件已锁定进行编写,您可能会面临风险(您在评论中说它看起来像是在Windows下,而且可能在Windows上发生) - 如果有的话另一个过程试图同时在回购中写点东西。
到目前为止,我对原件或副本没有任何问题,但这并不意味着我将来不会有风险。
真正的意思是:你是为了备份而复制吗?如果是这样,副本可能没用(取决于还原过程的详细信息)。看到: http://svnbook.red-bean.com/en/1.5/svn.reposadmin.maint.html#svn.reposadmin.maint.migrate
最后: 使用svnadmin转储
答案 5 :(得分:0)
我曾经使用闪存盘,只是在它上面创建了一个基于文件的repo。唯一的缺点(除了忘记它!)是闪存盘必须在每台PC上都有相同的驱动器号,速度,感觉就像一个缓慢的互联网连接。
否则,它运作得很好。