SVN:为什么命令 'svnadmin load' 在没有 pre-revprop-change 钩子的情况下工作,但 'svnrdump load' 需要它?

SVN: Why does command 'svnadmin load' work without pre-revprop-change hook but 'svnrdump load' requires it?

当使用 svnadmin loadsvnrdump load 加载 SVN 转储文件时,只有 svnrdump load 需要使用 pre-revprop-change 挂钩,即使这两种方法都在更改修订属性。

为什么 svnrdump load 需要这个提交钩子而 svnadmin load 不需要?

对于以下示例,这是使用的转储命令:

svnadmin dump /path/to/source/repo > dumpfile.svn_dump

这将在没有预提交挂钩的情况下工作:

svnadmin load /path/to/dest/repo < dumpfile.svn_dump

这将不会工作,除非有预提交挂钩:

svnrdump load file://path/to/dest/repo < dumpfile.svn_dump

我不确定这是否重要,但这些测试都是在 Windows 10 上使用 SVN 1.8.10

完成的

svnrdump 是在 URL 上运行的命令,可能会也可能不会直接访问存储库。

To operate properly svnrdump load requires that the target repository have revision property modification enabled via the pre-revprop-change hook

svnadmin 是一种管理工具,它从不在 URL 上运行,并且始终需要直接访问存储库。

svnadmin is the administrative tool for monitoring and repairing your Subversion repository. svnadmin works via direct repository access (and thus can only be used on the machine that holds the repository), it refers to the repository with a path, not a URL

因此来自 svnadmin 的所有命令将永远不会执行挂钩,因为它直接在存储库上运行。