svn2git规则正则表达式

时间:2019-04-25 17:53:51

标签: regex svn2git

我正在尝试减少svn2git的规则集。我的树看起来像这样。

A/foo
B/foo
C/foo
D/foo

我想将A,B和C放在旧文件夹下并且可以使用。我希望D成为它自己的顶级文件夹。

我当前的规则是。

match /(A|B|C)/([^/]+)/
  repository myrepo
  branch legacy/\1/\2
end match

是否可以修改规则,使D不必定义另一条规则就不会成为传统?

最终结果应为:

legacy/A/foo
legacy/B/foo
legacy/C/foo
D/foo

1 个答案:

答案 0 :(得分:1)

是的,有可能。我不确定 svn2git RegEx的外观如何。但是,this RegEx可以通过简单地保持 D / foo 的形式来创建输出,然后仅使用两组加上中间边界 / 来更改其他三个输入:

^(A|B|C)\/(foo)

enter image description here

您可能可以基于此RegEx更改代码。

我不确定,但是我猜测您的代码可能会更改为类似以下内容:

match /^(A|B|C)\/(foo)/
  repository myrepo
  branch legacy/\1/\2
end match

该代码可以正常工作,如果没有 ^ ,它可能可以正常工作:

match /(A|B|C)\/(foo)/
  repository myrepo
  branch legacy/\1/\2
end match