Regex git svn中如何计算忽略路径?

Regex git svn中如何计算忽略路径?,regex,git,git-svn,ignore,Regex,Git,Git Svn,Ignore,我有一个简单的回购结构,如下所示: trunk code othercode doc misc branches b1 code othercode doc misc b2 tags t1 t2 我试图使用gitsvn来克隆它,但想在主干+所有标记和分支上省略doc和misc。但是,忽略路径选项的作用与我预期的不同 ignore-paths = (doc|misc)

我有一个简单的回购结构,如下所示:

trunk
    code
    othercode
    doc
    misc
branches
    b1
        code
        othercode
        doc
        misc
    b2
tags
    t1
    t2
我试图使用
gitsvn
来克隆它,但想在主干+所有标记和分支上省略
doc
misc
。但是,
忽略路径
选项的作用与我预期的不同

ignore-paths = (doc|misc)
似乎有效,但我担心它也会排除像
trunk/code/proj1/doc/
这样的路径,我希望保留该路径

ignore-paths = ^(doc|misc)

不工作--
doc
misc
由初始的
git svn fetch
命令拉入。如何获得一个只与根目录匹配的有效正则表达式?手册页没有说明
忽略路径
是否与最终位于git克隆根目录的“相对”路径(
doc
等)匹配,或者与SVN remote中的“完整”路径(
分支/b1/doc
等)匹配,或者其他内容。

它似乎与SVN存储库中的完整路径匹配。这个正则表达式包括SVN路径的
主干
/
标记
/
分支
部分,实现了以下功能:

ignore-paths = ^(trunk|tags/[^/]*|branches/[^/]*)/(doc|misc)/
换句话说:路径必须以以下之一开头:

  • trunk
  • 标记/
    ,可能后跟一个路径段(不包含
    /
  • 分支/
    ,可能后跟一个路径段(不包含
    /

。。。那么名为
doc
misc

的路径段是否有一种等价的方法用于没有svn布局的svn回购?@besnep,如果您的意思是“没有标准的svn布局”,那么我想是的:由于正则表达式与完整路径匹配,因此无论存储库的布局如何,您都可以使用它。@mattmchhenry,不完全如此。我的意思是“没有svn布局”,即绝对没有布局。svn copy制作了一个版本拆分。没有使用SVN布局。所以没有树干,没有树枝。。。“如果我理解正确的话,”贝斯内普说,我认为这可能是它自己的独立问题;这将很难在评论中详细讨论。我可以提出一个新的单独问题,但在此之前,我必须为我的另一个问题找到解决方案: