首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >透明git-svn网关

透明git-svn网关
EN

Server Fault用户
提问于 2010-06-08 19:37:42
回答 3查看 3.3K关注 0票数 4

目前,我们有一个subversion存储库,其布局如下:

  • /trunc
    • /group1
      • /proj1
      • /proj2

代码语言:javascript
复制
- group2  
    - /proj3
    - /etc..
  • /tags
    • /group1
      • /proj1
      • /proj2

代码语言:javascript
复制
- group2  
    - /proj3
    - /etc..
  • /branch
    • /anything临时

我相信这是一个相当糟糕的布局,但目前很难完全改变它。

就我个人而言,我不喜欢颠覆,因为检查历史需要很长时间,而且分支和合并都很麻烦等等,所以我真的想用git代替。

可悲的是,我们不能仅仅切换到git,因为对一些人来说,精神能力可能会变得非常强大,所以我正在研究git-svn,看看我是否可以实际使用它来解决这个问题。

可悲的是,我想把每个项目分解成一个git,而我不想在我工作的每台计算机上重新创建git-svn结帐。因此,我想也许有可能创建某种透明的git←→svn代理/网关,这样对该回购的推送就会“提交”到svn,而提交svn则会更新git。

谷歌一直不是我的朋友,只是发现通用用法有助于使用git-svn,所以我问你是否有一些好的想法来完成这个任务。

EN

回答 3

Server Fault用户

回答已采纳

发布于 2011-11-24 20:39:44

对于透明的Git/Svn网关,您可以使用SubGit,它非常符合您的要求,但现在它只支持简单的单项目(/trunk,/branches,/tags)或多项目(/project/主干,.)布局。

票数 4
EN

Server Fault用户

发布于 2012-08-27 10:03:18

如果您不控制或不想破坏Subversion服务器,那么您就不能使用SubGit。在这种情况下,您可以为每个主干创建一个自动同步的git存储库。我们的团队以这种方式工作--我们有一个git-Subversion桥,它同步我们的团队git存储库和公司Subversion存储库中的项目主干之间的更改,这样我们的git使用对其他Subversion用户是透明的。

https://github.com/mrts/git-svn-bridge中将更详细地描述设置。

我们在生产中使用这种装置已有一年多了。

我想设置的最大警告是,在合并到主干期间,git分支将被压缩为一个提交。对我们来说,这是没有问题的--我们使用短暂的任务分支,并认为它们是轻量级的、短暂的“工作单元”,可以在单个块中到达主线,并且分支历史被保留在git中。

票数 3
EN

Server Fault用户

发布于 2010-07-13 03:13:22

你基本上有两个选择:

  1. 允许客户端的git-svn解决问题。您的初始签出将需要一段时间,但它可以为您提供与本机svn签出相同的所有功能(包括推送和遍历git svn dcommitgit svn [fetch|rebase]),如果您用--stdlayout克隆它,您将得到完全的分支和标记支持。(我是在我的公司这么做的-我是在svn服务器上使用git的两名员工之一,我没有任何麻烦。)
  2. 用git-svn将存储库克隆到另一台服务器(甚至是同一台服务器)上,然后开始从该存储库中托管git。然后您就有了一个本地的git,其中包含了以前所有的svn数据。
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/149377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档