git-svn克隆单个模块

时间:2011-10-02 09:12:55

标签: git svn

我有一个类似的存储库:

trunk/a/b/c
branches/V1/a/b/c
branches/V2/a/b/c
tags/T1/a/b/c
tags/T2/a/b/c

我想处理模块'c',而不是检查任何其他模块。什么是git-svn命令呢?

2 个答案:

答案 0 :(得分:1)

  1. 使用任何选项进行git svn init,例如

    $ git svn init http://svn.example.com/ -T trunk/a/b/c -t tags/T1/a/b/c \
          -b branches/V1/a/b/c
    
  2. 编辑.git/config,如下所示

  3. 制作get svn fetch

  4. git-svn manual page表示您可以在.git/config中使用以获取所有分支和标记:

    [svn-remote "project-c"]
         url = http://server.org/svn
         fetch = trunk/a/b/c:refs/remotes/trunk
         branches = branches/*/a/b/c:refs/remotes/branches/*
         tags = tags/*/a/b/c:refs/remotes/tags/*
    

    或者只选择几个分支:

    [svn-remote "project-c"]
         url = http://server.org/svn
         fetch = trunk/a/b/c:refs/remotes/trunk
         branches = branches/{V1,V2}/a/b/c:refs/remotes/branches/*
         tags = tags/{T1,T2}/a/b/c:refs/remotes/tags/*
    

答案 1 :(得分:0)

我不确定这是可能的......您只能使用文件夹中的完整网址检查主干中的模块:

git svn clone url/trunk/a/b/c

您可以尝试使用--branches --tags参数,但我认为这不会起作用

git svn clone --trunk=/trunk/a/b/c --branches=/branches --tags=/tags url