修订日志中的DELTA与PLAIN

时间:2015-08-20 05:08:42

标签: jenkins svn fsfs

我在网上搜索并没有得到一个很好的答案,但由于某种原因(升级到TortoiseSVN 1.9.0后?)我的Subversion修订日志文件格式已经改变,这让Jenkins SVN插件混乱,我很困惑为什么。

.../Repository/db/revs/0中,查看修订文件的尾部,我得到以下版本tail -n40 116,旧版本:

PLAIN
K 8
branches

[elided]

ub-3.0.t115-38 modify-file true false /trunk/foo/bar.c

17579 17721

对于tail -n21 117,HEAD修订版:

DELTA 116 17463 103
SVNgfK▒a19

[elided]

ua-3.0.t116-39 modify-file true false /trunk/baz/wibble.h

4646 4785

是否有一些工具可以将这些DELTA修订日志转换为PLAIN格式,或者某些设置可以阻止创建DELTA修订版?

更新:此问题似乎导致此问题的描述为in this bug report

2 个答案:

答案 0 :(得分:2)

您不应该手动触摸存储库修订文件。除Subversion开发人员外,他们对任何人都没有任何意义你试图以这种方式解决什么问题?看起来你走错了方向。

PLAINDELTA始终位于Subversion FSFS修订文件中。此外,Jenkins(其SVN插件准确)应该没有存储库后端格式的问题,因为它使用客户端层来访问存储库。

如果您对这些DELTAPLAIN的获取感兴趣,请阅读https://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_fs_fs/structure处的FSFS存储库后端设计文档。

答案 1 :(得分:0)

以下是对我有用的完整答案。

首先,following this guide,并假设return_url作为repo位置,执行以下操作以获取当前存储库的快照:

/cygdrive/c/SVNRepository

请注意, cd /cygdrive/c svnadmin dump SVNRepository/ >copy.dump rm -rf SVNRepository svnadmin create --compatible-version 1.8 SVNRepository 非常重要,因为Jenkins还不能理解新的1.9格式。

现在使用您选择的编辑器,加载--compatible-version 1.8,例如:

SVNRepository/db/fsfs.conf

找到以下两行(第61行和第69行):

vi SVNRepository/db/fsfs.conf

并将其更改为:

# enable-dir-deltification = true
# enable-props-deltification = true

现在将快照导入新数据库:

enable-dir-deltification = false
enable-props-deltification = false

现在,詹金斯应该重新开始工作了!