在将存储库与svnsync同步时,可以修复/绕过非UTF8编码的svn:log记录吗?
背景
我正在接管一个开源模块的维护工作,该模块存储在一个大型( 10,000多个修订版) subversion (1.5.5)存储库中。我没有远程存储库的管理员权限来转储/过滤/加载模块。旧的存储库正在停用,我正在尝试用svnsync将原始子模块同步到本地(1.6+)存储库。例如:
svnsync file://home/svn/temp-repo/ http://path.to.repo/modulename/问题是旧存储库没有强制执行UTF8编码,我碰到的错误如下:
svnsync: Cannot accept 'svn:log' property because it is not encoded in UTF-8我无法修改源存储库中的日志属性,因此在编码未知/无效时,需要以某种方式修改或忽略属性值。
有什么想法吗?
例如:
pre-revprop-change脚本可以修改正在传输的日志属性吗?发布于 2011-01-15 22:49:05
您需要等待下一个版本的Subversion,有一个待补补片来向svnsync添加对非UTF8 8编码的支持。
发布于 2012-10-11 06:12:09
您需要修改pre-revprop-change.tmpl
# cp pre-revprop-change.tmpl pre-revprop-change.tmp
# vim pre-revprop-change.tmp
exit 1 ==> exit 0否则,您可以使用svnadmin setrevprop来修改repos。
发布于 2011-03-23 07:01:56
对此有一个简单的解决办法。使用以下语句更改源存储库中的日志条目:
在/home/svn/repos中包含修订10281和存储库的示例
svn proplist -v --revprop -r 10281 file:///home/svn/repos | iconv --to-code UTF8//IGNORE -o /tmp/iconv.out
svn propset svn:log --revprop -r 10281 -F /tmp/iconv.out file:///home/svn/repos
https://stackoverflow.com/questions/4702390
复制相似问题