我希望能够通过使用默认模式引用多个问题来通过一次提交来关闭多个问题^([Cc]loses|[Ff]ixes) +#\d+a
。我知道这只会影响fixes #number
行首的 -patterns ,这就是我想要的。
但我还不能让它工作。
我目前正在使用 Gitlab 6.1,根据 github 上的安装自述文件安装它,除了下面的代码片段之外没有更改任何内容。
这是我尝试过的:
首先,我更改{gitlab-directory}/app/models/commit.rb
了以下内容(原始代码已注释掉):
def closes_issues project
md = safe_message.scan(/(?i)((\[)\s*(close|fix)(s|es|d|ed)*\s*#\d+\s*(\])|(\()\s*(close|fix)(s|es|d|ed)*\s*#\d+\s*(\)))/)
#md = issue_closing_regex.match(safe_message)
if md
extractor = Gitlab::ReferenceExtractor.new
md.each do |n|
extractor.analyze(n[0])
end
extractor.issues_for(project)
#extractor = Gitlab::ReferenceExtractor.new
#extractor.analyze(md[0])
#extractor.issues_for(project)
else
[]
end
end
但是此代码片段中使用的正则表达式不符合我的需要,并且不是真正正确的(例如:(fixs #123)
并且(closees #123)
两者都可以工作)。
在测试了这个代码片段并确认这个代码片段可以使用与片段中使用的正则表达式匹配的模式后,我尝试更改正则表达式。起初,我尝试在第二行中执行此操作:
md safe_message.scan(/#{Gitlab.config.gitlab.issue_closing_pattern}/)
这个没用。我没有发现任何错误消息,log/unicorn.stderr.log
所以我尝试直接使用配置文件中的默认正则表达式而不使用变量:
md safe_message.scan(/^([Cc]loses|[Ff]ixes) +#\d+a/)
但是这个也没有用。同样,在log/unicorn.stderr.log
.
如何issue_closing_pattern
在此代码段中使用配置文件中的变量作为正则表达式模式?