我们有一个SVN存储库,它具有以下结构:
https://xxxxxx.com/svn/foo/project/trunk/app/STUFF_I_WANT
https://xxxxxx.com/svn/foo/project/branches/dev/BRANCH_NAME/bar/STUFF_I_WANT
STUFF_I_WANT当然是我想要的东西。主干中的STUFF_I_WANT遵循与分支中的STUFF_I_WANT相同的层次结构。 BRANCH_NAME是变数。 “bar”目录始终存在于任何分支中 - 换句话说,而不是像主干中的“app”,分支中项目的父文件夹称为“bar”。此外,“bar”中可能还有许多其他不相关的子目录。
我可以查看行李箱,各个分支也很好。但是,我仍然完全难以检查行李箱,同时仍然允许它跟踪树枝。我已经尝试了许多不同的命令,但它们最终都给了我一个只有零或一个提交的回购。不断打印到控制台的主要错误是“找不到revmap”。
我在git svn init / clone上尝试了以下所有变种,但无济于事 - 它们都产生了我上面提到的相同结果。
git svn clone -$(svn log -q --limit 1 $SVN_URL | awk '/^r/{print $1}') $SVN_URL -T trunk/app -b branches/dev/*/bar
git svn clone -$(svn log -q --limit 1 $SVN_URL | awk '/^r/{print $1}') $SVN_URL -T trunk/app -b branches/dev
git svn init $SVN_URL -T trunk/app -b branches/dev
最后一个,我通过编辑.git / config跟进 branches = ipssdt / branches / dev / / ccix:refs / remotes / 但它没有不管怎样。
答案 0 :(得分:1)
尝试
git svn init $SVN_URL -T trunk/app -b 'branches/dev/*/bar'
我不确定它会做正确的事情,所以然后转到.git / config并检查选项。我相信他们应该是:
fetch = trunk/app:refs/remotes/trunk
branches = branches/dev/*/bar:refs/remotes/branches/*
文档明确说明{sub}分支路径内的任何地方都支持*
,而不仅仅是在最后,但你仍然必须指定branch-git的确切路径svn无法猜测分支是实际上在你指定的子目录中。