我当前的项目拥有位于具有受限访问权限的网络上的主Subversion存储库。我们的大多数开发人员都可以访问此网络,并具有代码库的完整功能。我目前有一个无法访问网络的“远程”开发人员。我目前管理这个的方法是检查一个工作副本到一个新的工作区,拉上它并发送给他工作。收到我的每个代码转储后,他把它放在一个本地Git仓库中给自己一些版本控制。完成一组任务后,他将其拉回并发送给我,因为它仍然包含svn元数据,我可以与存储库同步并提交/合并他的更改。然后重复一遍。这对我来说是一个巨大的痛苦,但它是可以管理的,因为我只为一个人做。
我们目前正在研究添加几个无法访问受限网络的远程开发人员的可能性,因此我正在寻找替代目前的情况。理想情况下,我希望有一个远程存储库,它基本上充当主存储库的分支。我已经阅读了有关svnsync来创建镜像的信息,但它看起来不像是你可以提交到镜像或从镜像提交回源。我需要能够同时进行repos,merge和reintegrate。我不反对从Subversion切换到Git,但我想保留它作为最后的解决方案。
欢迎任何建议!谢谢!
答案 0 :(得分:1)
我们有类似的设置,但使用以下内容:
SVN作为主存储库 git-svn存储库,它进行双向通信 每个远程工作者都有一个git存储库并推送到git-svn repo
git-svn repo然后可以更新主存储库,唯一可以控制git-svn repo的人应该是你自己,并且应该像往常一样保护对它的访问。我们发现这很好用,并且允许我们将主SVN存储库保密,同时允许远程工作者提交。
答案 1 :(得分:1)
听起来好像完全迁移到Git是你想要做的。我建议你看看How to use git-bundle for keeping development in sync?。该答案中的工作流模式似乎与您描述的情况类似。