过滤然后将转储的 SVN 存储库转移到 riouxsvn

Posted

技术标签:

【中文标题】过滤然后将转储的 SVN 存储库转移到 riouxsvn【英文标题】:Filter then transfer dumped SVN repository to riouxsvn 【发布时间】:2017-07-04 02:43:29 【问题描述】:

我有一个 .dump 文件,它是通过运行 svndump 和 svndumpfilter 生成的,因为我希望排除某些路径。我在 CentOS 上使用 svn 1.8 版。我想将该过滤后的文件导入 riouxsvn 上新创建的 svn 存储库。我尝试使用这种语法(注意“share-this.dump 是本地文件”):

svnrdump load https://svn.riouxsvn.com/(reponame)  < share-this.dump

并收到以下错误消息:

svnrdump: E175002: DAV request failed; it's possible that the
repository's pre-revprop-change hook either failed or is non-existent
svnrdump: E175002: Revprop change blocked by pre-revprop-change hook
(exit code 1) with output:
The subcommand "svn:rdump-lock" is prohibited by RiouxSVN.

我在 riouxsvn 上创建了没有主干/标签/分支的存储库。那里还没有任何承诺。

我尝试激活 riouxsvn 上的“挂钩”,但我不知道如何使用它 解决上面的错误信息。

Riouxsvn 支持 svnrdump 还是只支持 svnsync ?

我唯一的想法是创建一个新的临时本地 svn 存储库,将过滤后的内容导入那里,然后将其同步到 riouxsvn。

关于过滤步骤,我使用的语法是基于example in the SVN Book:

svndumpfilter exclude --pattern --targets ex.txt < complete.dump > share-this.dump

ex.txt 文件包含一个排除模式列表,每行一个,像这样

/trunk/project/secret*
/tags/*/project/secret*
*secret_file.pas

【问题讨论】:

【参考方案1】:

声明:我在 RiouxSVN 工作

您好 Chloe,我们调查了您使用“svnrdump”命令的请求,我们决定允许所有存储库使用它。

直到今天它确实在 revprop 提交挂钩中被阻止。现在,这两个命令都可以在 RiouxSVN 上使用:

svnrdump dump < repository URL >
svnrdump load < repository URL >

此外,请确保您的目标存储库中有足够的可用空间用于转储,否则提交后挂钩将拒绝转储。

感谢您提请我们注意此事!

【讨论】:

以上是关于过滤然后将转储的 SVN 存储库转移到 riouxsvn的主要内容,如果未能解决你的问题,请参考以下文章

从 SVN 转储中删除空修订的问题

svn 迁移但转储存储库的一部分

如何将 SVN 转储文件导入 SourceForge?

如何将缺少的 svn:author 批量添加到存储库或转储中?

svndumpfilter - 不支持的转储文件版本

在存储库的 SVN 转储期间观察到错误 (Visual SVN)