git svn获取特定目录

时间:2017-08-08 15:50:32

标签: git svn version-control fetch git-svn

是否可以使用git svn获取特定目录?我正在尝试获取与“trunk / Path”中的名称“XYZ”匹配的多个目录。 “XYZ”处于多个路径中。

git svn init --stdlayout --no-minimize-url --trunk=trunk/Path

git svn fetch  --revision 1234:HEAD --authors-file=authors.txt --include-paths="^.*trunk\/subdirpath1/XYZ" 
git svn fetch  --revision 1234:HEAD --authors-file=authors.txt --include-paths="^.*trunk\/subdirpath2/XYZ" 
git svn fetch  --revision 1234:HEAD --authors-file=authors.txt --include-paths="^.*trunk\/subdirpath3/XYZ" 

1 个答案:

答案 0 :(得分:1)

是的,您可以获取特定目录。详细步骤如下:

1。在.git/config

中添加包含路径

.git/config下打开include-paths = /path/to/specify文件添加[svn-remote "svn"]。所以配置文件看起来像:

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
[svn-remote "svn"]
    include-paths = subdirpath1/XYZ|subdirpath2/XYZ|subdirpath3/XYZ
    url = https://url/for/svn/repo
    fetch = trunk:refs/remotes/origin/trunk
    branches = branches/*:refs/remotes/origin/*
    tags = tags/*:refs/remotes/origin/tags/*

注意:include-paths的路径应包含您要获取的所有路径。例如,如果有目录trunk/subdirpath4/XYZ,您还应该将其添加到config文件中。

2。使用--include-paths的{​​{1}}选项获取相关路径:

git svn fetch

然后它将获取相关的svn修订版。