目前,我们有一个subversion存储库,其布局如下:
- group2
- /proj3
- /etc..- group2
- /proj3
- /etc..我相信这是一个相当糟糕的布局,但目前很难完全改变它。
就我个人而言,我不喜欢颠覆,因为检查历史需要很长时间,而且分支和合并都很麻烦等等,所以我真的想用git代替。
可悲的是,我们不能仅仅切换到git,因为对一些人来说,精神能力可能会变得非常强大,所以我正在研究git-svn,看看我是否可以实际使用它来解决这个问题。
可悲的是,我想把每个项目分解成一个git,而我不想在我工作的每台计算机上重新创建git-svn结帐。因此,我想也许有可能创建某种透明的git←→svn代理/网关,这样对该回购的推送就会“提交”到svn,而提交svn则会更新git。
谷歌一直不是我的朋友,只是发现通用用法有助于使用git-svn,所以我问你是否有一些好的想法来完成这个任务。
发布于 2011-11-24 20:39:44
对于透明的Git/Svn网关,您可以使用SubGit,它非常符合您的要求,但现在它只支持简单的单项目(/trunk,/branches,/tags)或多项目(/project/主干,.)布局。
发布于 2012-08-27 10:03:18
如果您不控制或不想破坏Subversion服务器,那么您就不能使用SubGit。在这种情况下,您可以为每个主干创建一个自动同步的git存储库。我们的团队以这种方式工作--我们有一个git-Subversion桥,它同步我们的团队git存储库和公司Subversion存储库中的项目主干之间的更改,这样我们的git使用对其他Subversion用户是透明的。
在https://github.com/mrts/git-svn-bridge中将更详细地描述设置。
我们在生产中使用这种装置已有一年多了。
我想设置的最大警告是,在合并到主干期间,git分支将被压缩为一个提交。对我们来说,这是没有问题的--我们使用短暂的任务分支,并认为它们是轻量级的、短暂的“工作单元”,可以在单个块中到达主线,并且分支历史被保留在git中。
发布于 2010-07-13 03:13:22
你基本上有两个选择:
git svn dcommit和git svn [fetch|rebase]),如果您用--stdlayout克隆它,您将得到完全的分支和标记支持。(我是在我的公司这么做的-我是在svn服务器上使用git的两名员工之一,我没有任何麻烦。)https://serverfault.com/questions/149377
复制相似问题