svn hotcopy incremental会覆盖备份中的现有修订

时间:2017-05-16 12:24:29

标签: svn fsfs

我使用svnadmin hotcopy --incremental命令创建备份。颠覆1.9.5。发现该命令重新创建已经备份的修订文件,其大小超过例如目录db / revs /中的120kb。 备份日志(第一次备份是空文件夹,后一份备份到同一文件夹):

    C:\Users\Администратор.WIN-DBM2OE9OJ54>svnadmin hotcopy D:\Repositories\Sandbox D:\Test --incremental
* Copied revision 0.
* Copied revision 1.
* Copied revision 2.
* Copied revision 3.
* Copied revision 4.
* Copied revision 5.
* Copied revision 6.
* Copied revision 7.
* Copied revision 8.
* Copied revision 9.
* Copied revision 10.
* Copied revision 11.
* Copied revision 12.
* Copied revision 13.
* Copied revision 14.
* Copied revision 15.
* Copied revision 16.
* Copied revision 17.
* Copied revision 18.
* Copied revision 19.
* Copied revision 20.
* Copied revision 21.
* Copied revision 22.
* Copied revision 23.
* Copied revision 24.
* Copied revision 25.
* Copied revision 26.
* Copied revision 27.
* Copied revision 28.
* Copied revision 29.
* Copied revision 30.
* Copied revision 31.
* Copied revision 32.
* Copied revision 33.
* Copied revision 34.
* Copied revision 35.
* Copied revision 36.
* Copied revision 37.
* Copied revision 38.
* Copied revision 39.
* Copied revision 40.
* Copied revision 41.
* Copied revision 42.
* Copied revision 43.
* Copied revision 44.
* Copied revision 45.
* Copied revision 46.
* Copied revision 47.
* Copied revision 48.
* Copied revision 49.
* Copied revision 50.
* Copied revision 51.
* Copied revision 52.
* Copied revision 53.
* Copied revision 54.
* Copied revision 55.

C:\Users\Администратор.WIN-DBM2OE9OJ54>svnadmin hotcopy D:\Repositories\Sandbox D:\Test --incremental
* Copied revision 14.
* Copied revision 21.
* Copied revision 22.

C:\Users\Администратор.WIN-DBM2OE9OJ54>svnadmin hotcopy D:\Repositories\Sandbox D:\Test --incremental
* Copied revision 14.
* Copied revision 21.
* Copied revision 22.

等等每个下一个svnadmin hotcopy --incremental命令。原始存储库和备份的二进制比较修订版14,21,22文件给出了相同的结果。这种奇怪行为的原因是什么?

2 个答案:

答案 0 :(得分:0)

仅支持FSFS存储库的增量备份。

来自svnadmin hotcopy --help的输出:

  

如果--incremental已传递,则已存在于目的地的数据   不会再次复制。为FSFS存储库实施增量模式。

快速搜索后发现以下SO帖子: How can I determine whether a Subversion repository was created with a BDB or fsfs backend?

从该帖子的接受回答中:

  

使用文本编辑器打开文件repository\db\fs-type。它包含bdbfsfs,表示它使用的是哪个后端。

如果svnadmin hotcopy --incremental始终复制文件,则上述fs-type文件的内容很可能为bdb

如果您有动力,可以将BDB存储库转换为FSFS存储库。

来自http://linuxwisdom.blogspot.com/2007/08/convert-subversion-repository-from-bdb.html

  

创建FSFS存储库。

svnadmin create --fs-type fsfs repo2
     

转储第一个存储库。

svnadmin dump repo1 > repo2.dumpfile
     

将转储文件加载到新的FSFS存储库中。

svnadmin load repo2 < repo2.dumpfile

答案 1 :(得分:0)

问题出在Windows Server重复数据删除服务中。 Subversion开发人员告诉我们apr库存在此类错误。禁用存储库文件夹的重复数据删除可以解决问题。