How to change a versioned svn property without changing/adding anything else in a repo?

问题描述 投票:0回答:0

我是一个非常大的、超过 130 万次修订的 SVN 存储库的管理员。我必须提取一个大的子集来创建一个新的 SVN 存储库,我既不能向原始存储库添加新修订也不能修改它们的日期。是的,我需要完整的病史。 对 extract 的修订之一(不知道 15 年前是怎么发生的)一个自定义 svn 版本化属性,其值具有一个以 ASCII(1 字节)而不是 SVN 期望的 UTF-8(2 字节)编码的“è”字符客户端应该正确编码。 我正在使用的工具 Subdivision 在处理该修订时正确地发出错误,因为它发现错误的属性内容。 该修订版的 svnadmin verify 命令没有发现错误,但它没有查看使用的编码。

使用 svn propset 会创建一个新的修订版,有一个新的日期,这是我不允许的;而且它不会解决问题,因为错误的修订保持不变。 我正在寻找的建议是如何以保持存储库连贯的方式修改修订文件 (/db/revs/Krevs/revno)。修订文件有校验和,如果您确定要包含的精确字符集是什么,您可以再次计算它们。 在最小的回购协议中重现问题只是为了测试可能很有用,但如何创建有缺陷的修订版呢?将错误的修订文件从原始文件复制到另一个更简单的 repo 是很复杂的,至少乍一看是这样。 change svn file property on the fly with svnkit suggests a way to change the value of the property,但它似乎忽略了校验和和属性的大小。

svn revision
© www.soinside.com 2019 - 2024. All rights reserved.