0

我公司维护两个 SVN 存储库,Repository 1 和 Repository 2:

  1. 该存储库中有多个项目,并且只能由公司内部的开发人员访问。通过 HTTPS 访问,通过 Windows 域进行身份验证。
  2. 该存储库中有一个项目,可供公司内的开发人员和我们客户的开发人员访问。通过 svn:// 访问,通过 passwd 文件进行身份验证。

我们在存储库 1 的文件夹中有一些代码,我们希望将其下载给存储库 2 的用户。显而易见的答案是使用 SVN Externals,但据我所知,这需要客户的开发人员拥有帐户我们的领域,我们的 IT 人员不喜欢这样。

因此,我能看到的唯一解决方案是某种定期运行的 cron 作业,以将必要的文件从存储库 1 复制到 2。我找到了一个名为Tailor的工具,它声称可以满足我的需求,但到目前为止我已经没有设法让它正常工作。

在我花更多时间尝试让 Tailor 工作之前,是否有人对另一种方法有任何建议?我最后的手段是敲一个程序来为我做这件事,这应该不会太难,但如果有一个现有的应用程序,最好使用现有的应用程序!

提前感谢您的任何帮助/指点!

富有的

4

4 回答 4

2

如果 SVN 外部可以工作,但唯一的绊脚石是访问权限,那么为什么不克隆存储库并将外部指向它呢?

SVN 现在对镜像有很好的支持:

https://www.opends.org/wiki/page/MirroringASubversionRepository

您可以使用您喜欢的任何身份验证方案锁定镜像存储库,例如匿名只读访问。

但是,您需要确保唯一更新镜像的是 svn sync 命令 - 存储库 2 的用户将无法将更改提交回存储库 1。

这个页面有一些非常有用的信息:

http://svn.collab.net/repos/svn/trunk/notes/svnsync.txt

于 2009-04-16T09:47:24.100 回答
1

我看到您需要从两个存储库中进行更改。

您也许可以使用相同的 svnsync 想法来构建直写代理

使用它,镜像存储库将写入请求传递回主代理。现在我不确定身份验证会发生什么,但在这里可能值得研究。

也可以看看这个信息

于 2009-04-16T10:02:22.317 回答
0

您是否需要让外部开发人员更改存储库 2 中文件夹中的代码,如果不需要,您可能根本不需要使用 SVN。

一般来说,拥有两个带有相同代码的 SVN 存储库会让人感到困惑。

其他选项

  • 如果您需要外部开发人员编辑存储库 2 中的文件,您是否可以不让外部开发人员以另一种方式进行,所以存储库 1 对存储库有一个外部定义。
  • 通过将所有代码放在存储库中来绕过您的 IT 人员。
  • 使用 GIT。
于 2009-04-16T08:51:07.683 回答
0

SVNReplicate,它可能可以定制为与单个项目一起使用,但这似乎是分布式 VCS应该更合适的情况。

于 2009-04-16T09:51:24.950 回答