有一个我只读访问的SVN开源项目,我想在GitHub上创建该项目的GIT镜像.
我知道如何设置初始镜像然后保持最新git svn rebase
,但仍然需要在运行cron作业的某个地方设置服务器以处理同步,设置监视以确保服务器已启动并且cron作业正在运行,定期升级到最新的git版本等.
在我重塑其他每个SVN-> GIT镜不得不同轮,如果有,它可以自动SVN-任何服务(免费或付费)> GIT镜像我,我不知道.知道吗?
显然,自动化服务无法合并我的更改 - 我的所有更改都发生在单独的仓库中(或者可能是同一仓库中的单独分支).我只是在寻找一种自动化SVN交互的方法,并创建一个其他人可以克隆的精确镜像.
我认为对此的责任应落入维护项目的人手中.例如,请参阅Apache如何使用Git镜像支持他们的项目.
另一方面,我认为没有那么多"发明"可以做到.如果你有一台服务器可以连续轮询到SVN存储库进行更改,那么执行git-svn rebase并推送到github是相当简单的.我怀疑任何公司都专注于设置这个(至少,我没见过).
另外,当您想要分享您的更改时,您不应该推送到Git镜像.最好是将git-svn重新命名为SVN,或者向开发人员发送补丁.如果你推送到SVN获取回购,我相信它会搞砸git-svn.就像你说的那样,双向Git-SVN同步不能自动化.
您可以在svn服务器中使用post-commit钩子告诉git-svn是时候重新绑定了.