Мы использовали два разных метода для ссылки на внешние документы и номера ошибок Bugzilla.
Сейчас я ищу регулярное выражение, которое соответствует этим двум возможностям ссылочных строк для удобного отображения и связывания в TortoiseSVN 1.6.16 экран журнала.Во-первых, должна быть запись об ошибке в форме [BZ#123]
, вторая - [some text and numbers]
, которая не должна быть преобразована в URL.
Это может быть сопоставлено с
\[BZ#\d+\]
и
\[.*?\]
Теперь моя проблема - объединить эти две строки совпадений.Обычно это делается регулярным выражением (first | second), и я сделал это следующим образом:
(\[.*?\]|\[BZ#\d+\])
К сожалению, в этом случае TortoiseSVN, кажется, перехватывает все это как номер ошибки из-за раундабрекеты.Даже если я добавлю второе выражение, которое (согласно документации) должно использоваться для извлечения самого номера проблемы, это второе выражение должно игнорироваться:
(\[.*?\]|\[BZ#\d+\])
\[BZ#(\d+)\]
В этом случае TortoiseSVN отображаетссылки на ошибки и документы правильно отображаются в отдельном столбце, но они полностью используются для URL-адреса bugtracker, который, конечно, не работает:
https://mybugzillaserver/show_bug.cgi?id=[BZ#949]
Кстати, Mercurial использует лучший способ, используя {1}, {2}, ... как заполнитель в URL.
Кто-нибудь знает, как решить эту проблему?
EDIT
Короче говоря: мыиспользовали [BZ # 123] в качестве ссылок на номера ошибок и [anytext] в качестве ссылок на другие (частично не электронные) документы.Мы хотели бы, чтобы оба шаблона были перечислены в дополнительном столбце TortoiseSVN, но в качестве% BUGID% в строке URL-адреса должен использоваться только номер ошибки из первой части.
EDIT 2
Предположительно, TortoiseSVN не может обрабатывать вложенные группы регулярных выражений (круглые скобки), поэтому на этот вопрос пока нет удовлетворительного ответа.