デフォルトのパターンで複数の問題を参照することで、1 つのコミットで複数の問題をクローズできるようにしたいと考えています^([Cc]loses|[Ff]ixes) +#\d+a
。fixes #number
これは行頭の -patterns にのみ影響することを知っています。それが私が望んでいることです。
しかし、私はまだそれを機能させることができませんでした。
私は現在 Gitlab 6.1 を使用しており、github のインストールの readme に従ってインストールし、以下のコードニペット以外は何も変更していません。
これが私が試したことです:
{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)
も機能します)。
このコードニペットをテストし、これがスニペットで使用されている正規表現と一致するパターンで動作することを確認した後、正規表現を変更しようとしました。最初に、2 行目でこれを実行しようとしました。
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
このコード スニペットで構成ファイルの変数を正規表現パターンとして使用するにはどうすればよいですか?