git-svn在分支不对齐时合并

时间:2018-10-10 19:35:03

标签: git svn git-svn

我怀疑这可能只是= ALLPrivate Sub CommandButton1_Click() Dim x As Workbook Dim y As Workbook Set x = Workbooks.Open("http://employee.xtra.net/sites/Ops/Support%20Launch%20Docs/ep_timing_wb_report.xlsx") Set y = ThisWorkbook x.Sheets("ep_timing_wb_report 1").Range("A:AA").Copy y.Sheets("ep_timing_wb_report").Range("A:AA").PasteSpecial x.close End Sub 之间的阻抗不匹配,但是我想向SO社区寻求建议。

我正在研究一个使用git进行版本控制的项目。这不会改变,我对此无能为力。我一直很高兴地使用svn在分支机构中工作。但是,我遇到了一个奇怪的问题,该问题与SVN项目的设置方式很奇怪。

在SVN中,项目如下所示:

  • 项目根目录
    • 分支机构
      • MyBranch
        • Dir1
        • Dir2
        • 等。
    • 树干
      • Proj_Main
        • Dir1
        • Dir2
        • 等。

.git / config:

svn

创建分支后,它们在git-svn下一级创建。我也对此无能为力。

当我尝试从[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [svn-remote "svn"] url = http://svn-repo fetch = project/trunk:refs/remotes/trunk branches = project/branches/*:refs/remotes/* tags = project/tags/*:refs/remotes/tags/* 合并到trunk时,我的树会向上合并一级。也就是说,MyBranchtrunk没有关系。在MyBranch/Dir1中,它确实了解这种关系,我可以使用trunk/Proj_Main/Dir1工具进行合并,但是svn丢失了。

有没有办法告诉svn git指向git而不是master

2 个答案:

答案 0 :(得分:2)

将提取行编辑为以下内容:

fetch = project/trunk/Proj_Main:refs/remotes/trunk

应该可以。...但是,我不知道您是否必须再次从修订版1获取此更改才能正常工作。

答案 1 :(得分:0)

@ eftshift0使用正确的方法。有时并没有挽救坏局面。我确保一切都与SVN同步,然后重新开始。

git svn clone -r<start>:HEAD http://svn-repo/project \
    --prefix=mine/ \
    --trunk=trunk/Proj_Main --branches=branches --tags=tags \
    --no-minimize-url

由于这是一个非常成熟的SVN回购协议,而且我不关心5年前的历史,因此为了节省时间,我限制了克隆的范围。

--prefix基于enter image description here中的建议。

我没有明确指定SVN中事物的布置方式,而不是-s--stdlayout。请注意,早期尝试使用此方法的尝试遇到了git-svn docs提取,可能与删除的SVN分支有关。这是限制提取范围的另一个原因。

--no-minimize-url是由于服务器上存在其他存储库而导致的。没有此开关,git-svn会提升一个级别,并在尝试解析分支,合并等时考虑 all 仓库。对我来说那不是好事。