子文件导入和多个分支目录

我试图用subgit进行导入。 只是一次性迁移。 我的SVN结构包含:

  • 分支机构
  • BRANCH1
  • 特征
  • BRANCH2
  • 修补程序
  • 店3
  • 我想将所有三个转换为git中的分支。 我试过了:

    proj=myproject; subgit import --svn-url <correctPath>/$proj --authors-file
      ~/authors --branches branches --branches branches/features
      --branches hotfixes --tags tags  $i
    

    这似乎只是使用“修补程序”作为从中导入的唯一地方。 (我正在使用SubGit版本2.0.2('Patrick')build#2731。)我也试过使用:

    --branches "branches;branches/features;hotfixes"
    

    但是,这完全失败了(它可能正在寻找一个带有分号的目录)。

    任何关于一次性进口的建议?

    (注意,我看到了这个相关的问题。)


    您可以使用'configure'+'install'+'uninstall'命令的组合。 我想,你的仓库有以下结构:

    $ svn ls --depth infinity <SVN_URL>                                                                                                                                                     
    branches/                                                                                                                                                                                                                         
    branches/branch1/                                                                                                                                                                                                                 
    branches/branch2/                                                                                                                                                                                                                 
    branches/features/                                                                                                                                                                                                                
    branches/features/feature1/                                                                                                                                                                                                       
    branches/features/feature2/                                                                                                                                                                                                       
    hotfixes/                                                                                                                                                                                                                         
    hotfixes/hotfix1/
    hotfixes/hotfix2/
    tags/
    tags/tag1/
    tags/tag2/
    trunk/
    

    然后执行以下操作。 运行'configure'命令:

    $ subgit configure --svn-url <SVN_URL> repo
    

    编辑repo / subgit / config文件到这个仓库结构(或者你可以创建你自己的refs / heads / namespaces,唯一的要求是:对于不同类型的分支不应该是相同的;如果你需要一次性导入和在refs / heads / *下的所有内容,您可以稍后使用脚本重命名它们):

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

    运行“安装”命令:

    $ subgit install repo
    

    然后,如果你从“repo”目录运行“git branch -a”,你会看到类似的东西:

    $ git branch -a
      branch1
      branch2
      features/feature1
      features/feature2
      hotfixes/hotfix1
      hotfixes/hotfix2
    * master
    

    或者,您可以运行'uninstall'命令来暂时或永久禁用同步(--purge选项)

    $ subgit uninstall [--purge] repo
    
    链接地址: http://www.djcxy.com/p/41701.html

    上一篇: subgit import and multiple branches directories

    下一篇: git pull aborted with error filename too long