svn2git правила регулярных выражений - PullRequest
1 голос
/ 25 апреля 2019

Я пытаюсь уменьшить свой набор правил для 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 Ответ

1 голос
/ 26 апреля 2019

Да, это возможно. Я не уверен, как svn2git RegEx может выглядеть. Однако этот RegEx может создать ваши выходные данные, просто оставив D / foo как есть, а затем изменив только три других входа, используя две группы плюс среднюю границу / * 1008. *:

^(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
...