定期将修订从一个SVN存储库复制到另一个活动的SVN存储库

定期将修订从一个SVN存储库复制到另一个活动的SVN存储库,svn,version-control,data-synchronization,Svn,Version Control,Data Synchronization,我的公司维护两个SVN存储库,存储库1和存储库2: 此存储库中有多个项目,并且仅由公司内的开发人员访问。通过HTTPS进行访问,通过Windows域进行身份验证 该存储库中只有一个项目,公司内的开发人员和客户的开发人员可以访问该存储库。访问是通过svn://进行的,身份验证是通过passwd文件进行的 我们在存储库1的一个文件夹中有一些代码,希望下载给存储库2的用户。显而易见的答案是使用SVN外部,但据我所知,这需要客户的开发人员在我们的域上拥有帐户,而我们的IT人员不喜欢这样 因此,我能看到的

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

  • 此存储库中有多个项目,并且仅由公司内的开发人员访问。通过HTTPS进行访问,通过Windows域进行身份验证
  • 该存储库中只有一个项目,公司内的开发人员和客户的开发人员可以访问该存储库。访问是通过svn://进行的,身份验证是通过passwd文件进行的
  • 我们在存储库1的一个文件夹中有一些代码,希望下载给存储库2的用户。显而易见的答案是使用SVN外部,但据我所知,这需要客户的开发人员在我们的域上拥有帐户,而我们的IT人员不喜欢这样

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

    在我花更多时间尝试让裁缝开始工作之前,有人对其他方法有什么建议吗?我的最后一个办法是为我做一个程序,这应该不会太难,但最好是使用现有的应用程序,如果有一个

    提前感谢您的帮助/指点


    Rich

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

    一般来说,在中使用具有相同代码的SVN的两个存储库会令人困惑

    其他选择

    • 如果你需要外部开发者 要编辑存储库2中的文件, 你能不能不要外景 走另一条路,所以要重新安置 有一个外部定义 存储库
    • 围着你的IT人员转 将所有代码放在存储库中
    • 使用GIT

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

    一般来说,在中使用具有相同代码的SVN的两个存储库会令人困惑

    其他选择

    • 如果你需要外部开发者 要编辑存储库2中的文件, 你能不能不要外景 走另一条路,所以要重新安置 有一个外部定义 存储库
    • 围着你的IT人员转 将所有代码放在存储库中
    • 使用GIT

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

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

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

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

    本页提供了一些非常有用的信息:


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

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

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

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

    本页提供了一些非常有用的信息:


    有,可能可以自定义为与单个项目一起工作,但这似乎是a应该更合适的情况。

    有,可能可以自定义为与单个项目一起工作,但这似乎是a应该更合适的情况。

    我发现您需要从两个存储库中进行更改

    您可能可以使用相同的svnsync思想来构建一个

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


    还可以查看。

    我发现您需要从两个存储库中进行更改

    您可能可以使用相同的svnsync思想来构建一个

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


    也可以看看。

    在另一个方向使用外部是一个聪明的主意,但我们实际上不需要访问存储库2的数据,存储库1中有所有其他项目代码,所以我认为其他团队成员不会喜欢这样。很遗憾,GIT不会发生,至少现在不会!在另一个方向使用外部是一个聪明的想法,但我们实际上不需要访问存储库2的数据,存储库1中包含所有其他项目代码,所以我认为其他团队成员不会喜欢这样。很遗憾,GIT不会发生,至少现在不会!两个存储库中都有提交吗?两个存储库中都有提交吗?这是一个非常好的主意-唯一的小问题是,存储库1的镜像必须与存储库2在同一台机器上运行-我认为这将意味着混淆端口等等…如果apache用于镜像服务,然后它已经是一个不同的协议/端口等(这是通过代理写入所必需的)。否则,是的,它是一个不同的端口,或者不同的IP地址(可以为机器提供多个IP地址/名称)。svnserve--listen host=otherIPCan提交更改并将其传播到两个存储库?我认为它们不能,但这很好-我只需要存储库2拥有一个