2009-04-16 48 views
0

我公司维持两个SVN信息库,资源库1和库2:定期从一个SVN库修订版复制到另一个活动SVN仓库

  1. 这个仓库中有多个项目,仅由开发商中访问公司。通过HTTPS进行访问,并通过Windows域进行身份验证。
  2. 这个存储库中有一个单独的项目,可以由公司内的开发人员和我们客户的开发人员访问。访问是通过svn://并通过passwd文件进行身份验证。

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

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

在我花更多时间试图让裁缝工作之前,有没有人有任何其他方法的建议?我最后的手段是敲一个程序来为我做,这不应该太难,但如果有现有的应用程序,最好总是使用它!

在此先感谢您的帮助/指示!

丰富

+0

这两个存储库中是否存在提交? – fglez 2009-04-16 09:11:47

+0

是的,有,我害怕 – Rich 2009-04-16 09:13:23

回答

2

如果SVN的外部工作,但唯一的绊脚石是访问权限,那么为什么不做一个克隆的存储库,并指出外部?

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

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

您可以锁定使用任何你喜欢的认证方案的镜像版本库,例如,匿名只读访问。

但是,你需要确保,更新镜子里的唯一的事情就是svn的sync命令 - 库2的用户将无法更改提交回资源库1

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

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

0

你需要有外部开发者修改代码的文件夹在资源库2,如果不是你可能不需要使用SVN的。

一般来说,拥有两个SVN的代码库会导致混淆。

其他选项

  • 如果您需要的外部开发者 在库2编辑文件, 你能不能拥有的外部 走另一条路,所以repository1 有一个外部定义来 库。
  • 将所有代码放在存储库中,围绕您的IT人员 。
  • 使用GIT。
+0

在另一个方向使用外部是一个聪明的想法,但我们实际上并不需要访问Repository 2的数据,而Repository 1拥有所有其他项目代码,所以我认为其他队员不会喜欢这样的。不幸的是,GIT不会发生,至少不是现在! – Rich 2009-04-16 08:59:17

1

我看到你需要对两个存储库进行更改。

您可能可以使用相同的svnsync构思来构建write-through proxy

使用此功能,镜像存储库将写入请求传递回主代理。现在我不确定在这一点上身份验证会发生什么,但这可能值得在这里进行调查。

不妨看看this info