是否可以使用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"
答案 0 :(得分: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
文件中。
--include-paths
的{{1}}选项获取相关路径:git svn fetch
然后它将获取相关的svn修订版。