Commit 443e21ed authored by Cedric Gatay's avatar Cedric Gatay

Autolinks to issues in commit message (see #155)

It matches #[0-9]+ in commit messages.
For example
 * Fix for #12
 * Code review for #56
 * Test for #15, Review on #54, Fix for #42

 It only links to valid issues (existing and belonging to the current project)
 It does not add any link to the commit in the issue page, it only consists in parsing the commit message when displayed.

 This can be considere as a primary work for the issue #155 on gitlabhq/gitlabhq.
parent fbf412ea
...@@ -23,4 +23,23 @@ module CommitsHelper ...@@ -23,4 +23,23 @@ module CommitsHelper
link_to "More", project_commits_path(@project, :offset => offset.to_i + limit.to_i, :limit => limit), link_to "More", project_commits_path(@project, :offset => offset.to_i + limit.to_i, :limit => limit),
:remote => true, :class => "lite_button vm", :style => "text-align:center; width:930px; ", :id => "more-commits-link" :remote => true, :class => "lite_button vm", :style => "text-align:center; width:930px; ", :id => "more-commits-link"
end end
def commit_msg_with_link_to_issues
out = ""
@commit.safe_message.split(/(#[0-9]+)/m).each do |m|
if m =~ /(#([0-9]+))/m
begin
issue = Issue.find($2)
raise Exception('Issue not belonging to current project, not creating link !') unless issue.project_id == @project.id
out+=link_to($1, project_issue_path(@project, $2))
rescue
out+=$1
end
else
out+= m
end
end
out
end
end end
...@@ -18,8 +18,7 @@ ...@@ -18,8 +18,7 @@
%hr %hr
%pre.commit_message %pre.commit_message
= preserve @commit.safe_message = preserve get_commit_message_with_link_to_issues
.clear .clear
%br %br
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment