-->

SubGit:如何排除分支?(SubGit: How to exclude branches?)

2019-09-03 17:21发布

我测试SubGit为迁移从SVN转向Git的一种方式。

我想这样做是能够创造的git仓库远程分支,所有的用户都可以使用同步回SVN。

我只想SubGit跟踪主分支和同步回SVN,使我们不得不使用和分享其他的Git分支的自由。

有没有一种简单的方法来做到这一点?

谢谢

Answer 1:

理想的解决方案将被指定主干:参考文献/头/主映射SubGit配置 ,所以SubGit将与忽略任何其他分支同步树干

不幸的是,SubGit需要的时刻(版本1.0.x的和2.0.x)至少一个分支映射。 也就是说,一个人必须指定这样的东西:

trunk = trunk:refs/heads/master
branches = branches/*:refs/heads/*
shelves = shelves/*:refs/shelves/*
tags = tags/*:refs/tags/*

既然你不会同步所有的Git分支,可以考虑使用一些特殊的命名空间要解决这个问题:

trunk = trunk:refs/heads/master
branches = branches/*:refs/gitsvn/heads/*
...

所以,如果一个推分支中央Git仓库,它被翻译成树干 。 然而,如果一个推分支FOO,SubGit忽略该分支自参/头/ foo是不同步范围。

麻烦来自合并提交:如果提交一个是合并分支的结果,然后SubGit相应承诺A.父创建了branches /富上颠覆侧如果你宁愿不包括SubGit产生分支成*分支/ **命名空间,可以考虑使用Subversion的侧一些特殊的分支,以及:

trunk = trunk:refs/heads/master
branches = gitsvn/branches/*:refs/gitsvn/heads/*
shelves = shelves/*:refs/shelves/*
tags = gitsvn/tags/*:refs/gitsvn/tags/*

在这种情况下提交A的相同父应该被发送到gitsvn /支链/ FOO分支。

这是目前可用的最佳解决方案。 我们也有2.1版本的功能请求,这将使你的一个理想的解决方案,但它是怎么回事之前,我们实现它需要一些时间。

更新上SubGit 3.0:

由于版本3.0.0(目前早期访问阶段,在下载http://subgit.com/eap )SubGit支持单支布局,所以配置文件可能如下所示:

  1. 没有树干,没有分支,没有标签和没有架子:

     [svn] url = http://host.com/repos/project 

    在这种情况下, 项目目录是直接映射到Git仓库分支; SubGit忽略任何其他部门和从不创建这意味着匿名的Git分支没有得到同步到SVN货架。

  2. 单树干,没有架子:

     [svn] url = http://host.com/repos/project trunk = trunk:refs/heads/master 

    在这种情况下, 项目/主干目录映射到掌握 Git仓库分支; SubGit忽略任何其他部门和从不创建货架。

  3. 单树干与货架:

     [svn] url = http://host.com/repos/project trunk = trunk:refs/heads/master shelves = shelves/*:refs/shelves/* 

    在这种情况下, 项目/主干目录映射到掌握 Git仓库分支; SubGit忽略其他任何子公司,但默认情况下,版本1.0.x的和2.0.x的转换匿名分行作为货架

希望帮助。



文章来源: SubGit: How to exclude branches?