多个 SVN 存储库

Multiple SVN Repositories

SVN 1.6.12版本库,我们称它为A,我已经使用了一段时间,布局如下:

<A>
    tool1/
        branches/
        tags/
            v1/
                dirs and files...
            v2/
                dirs and files...
        trunk/
    tool2/
        branches/
        ...

我在同一台服务器上创建了第二个存储库,我们称之为 B。它的结构需要...

<B>
    tool1/
        dirs and files...
    tool2/
        dirs and files...

B 的工具 1 的内容将是 A 的 tool1/tags/v2 的内容。 B 的工具 2 将是 A 的 tool2/tags/v2。

应该如何使用这两个存储库,当代码提交给 A 的 tool1/tags/v2 时,它也会提交给 B 的 tool1/tags/v2。 .. 我为 B 写了一个 pre-commit 钩子,它需要 运行。我不想将代码签入 A 并分别签出、修改和提交 B。这可能吗?也许 SVN 的 externals 可以解决问题?如果不是,我接受建议。

也许 externals 不支持我的用例。我阅读了 Red Bean svnsync 参考资料并确定,虽然看起来肯定会满足我的需要,但我不想在脚本中存储身份验证信息,也不知道 pre-commit 是否会 运行 同步时。

svn:externals 可以,但没有我想要的那么顺利。 A的结构原来是...

<A>
    tool1/
        branches/
        tags/
            v1/
            v2/ ( <-- svn:externals pointing to <B>/tool1 )
        trunk/
    tool2/
        ...
        tags/
            v1/
            v2/ ( <-- svn:externals pointing to <B>/tool2 )
        ...

...然后 B...

<B>
    tool1/
    tool2/

B 的预提交挂钩在提交 A/toolX/v2 时运行(这是一个重要的要求)。

仅供参考。