Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Léo-Paul Géneau
gitlab-ce
Commits
9cae1403
Commit
9cae1403
authored
Apr 07, 2016
by
Douwe Maan
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'regex-for-colons' into 'master'
Add optional colon. See merge request !3591
parents
45e0565f
2caaabf1
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
118 additions
and
2 deletions
+118
-2
CHANGELOG
CHANGELOG
+1
-0
config/gitlab.yml.example
config/gitlab.yml.example
+1
-1
config/initializers/1_settings.rb
config/initializers/1_settings.rb
+1
-1
spec/lib/gitlab/closing_issue_extractor_spec.rb
spec/lib/gitlab/closing_issue_extractor_spec.rb
+115
-0
No files found.
CHANGELOG
View file @
9cae1403
...
@@ -29,6 +29,7 @@ v 8.7.0 (unreleased)
...
@@ -29,6 +29,7 @@ v 8.7.0 (unreleased)
- Fix admin/projects when using visibility levels on search (PotHix)
- Fix admin/projects when using visibility levels on search (PotHix)
- Build status notifications
- Build status notifications
- API: Expose user location (Robert Schilling)
- API: Expose user location (Robert Schilling)
- ClosingIssueExtractor regex now also works with colons. e.g. "Fixes: #1234" !3591
v 8.6.5 (unreleased)
v 8.6.5 (unreleased)
- Only update repository language if it is not set to improve performance
- Only update repository language if it is not set to improve performance
...
...
config/gitlab.yml.example
View file @
9cae1403
...
@@ -80,7 +80,7 @@ production: &base
...
@@ -80,7 +80,7 @@ production: &base
# This happens when the commit is pushed or merged into the default branch of a project.
# This happens when the commit is pushed or merged into the default branch of a project.
# When not specified the default issue_closing_pattern as specified below will be used.
# When not specified the default issue_closing_pattern as specified below will be used.
# Tip: you can test your closing pattern at http://rubular.com.
# Tip: you can test your closing pattern at http://rubular.com.
# issue_closing_pattern: '((?:[Cc]los(?:e[sd]?|ing)|[Ff]ix(?:e[sd]|ing)?
) +(?:(?:issues? +)?%{issue_ref}(?:(?:, *| +and +)?
))+)'
# issue_closing_pattern: '((?:[Cc]los(?:e[sd]?|ing)|[Ff]ix(?:e[sd]|ing)?
|[Rr]esolv(?:e[sd]?|ing))(:?) +(?:(?:issues? +)?%{issue_ref}(?:(?:, *| +and +)?)|([A-Z][A-Z0-9_]+-\d+
))+)'
## Default project features settings
## Default project features settings
default_projects_features:
default_projects_features:
...
...
config/initializers/1_settings.rb
View file @
9cae1403
...
@@ -176,7 +176,7 @@ Settings.gitlab['signup_enabled'] ||= true if Settings.gitlab['signup_enabled'].
...
@@ -176,7 +176,7 @@ Settings.gitlab['signup_enabled'] ||= true if Settings.gitlab['signup_enabled'].
Settings
.
gitlab
[
'signin_enabled'
]
||=
true
if
Settings
.
gitlab
[
'signin_enabled'
].
nil?
Settings
.
gitlab
[
'signin_enabled'
]
||=
true
if
Settings
.
gitlab
[
'signin_enabled'
].
nil?
Settings
.
gitlab
[
'restricted_visibility_levels'
]
=
Settings
.
send
(
:verify_constant_array
,
Gitlab
::
VisibilityLevel
,
Settings
.
gitlab
[
'restricted_visibility_levels'
],
[])
Settings
.
gitlab
[
'restricted_visibility_levels'
]
=
Settings
.
send
(
:verify_constant_array
,
Gitlab
::
VisibilityLevel
,
Settings
.
gitlab
[
'restricted_visibility_levels'
],
[])
Settings
.
gitlab
[
'username_changing_enabled'
]
=
true
if
Settings
.
gitlab
[
'username_changing_enabled'
].
nil?
Settings
.
gitlab
[
'username_changing_enabled'
]
=
true
if
Settings
.
gitlab
[
'username_changing_enabled'
].
nil?
Settings
.
gitlab
[
'issue_closing_pattern'
]
=
'((?:[Cc]los(?:e[sd]?|ing)|[Ff]ix(?:e[sd]|ing)?|[Rr]esolv(?:e[sd]?|ing)) +(?:(?:issues? +)?%{issue_ref}(?:(?:, *| +and +)?)|([A-Z][A-Z0-9_]+-\d+))+)'
if
Settings
.
gitlab
[
'issue_closing_pattern'
].
nil?
Settings
.
gitlab
[
'issue_closing_pattern'
]
=
'((?:[Cc]los(?:e[sd]?|ing)|[Ff]ix(?:e[sd]|ing)?|[Rr]esolv(?:e[sd]?|ing))
(:?)
+(?:(?:issues? +)?%{issue_ref}(?:(?:, *| +and +)?)|([A-Z][A-Z0-9_]+-\d+))+)'
if
Settings
.
gitlab
[
'issue_closing_pattern'
].
nil?
Settings
.
gitlab
[
'default_projects_features'
]
||=
{}
Settings
.
gitlab
[
'default_projects_features'
]
||=
{}
Settings
.
gitlab
[
'webhook_timeout'
]
||=
10
Settings
.
gitlab
[
'webhook_timeout'
]
||=
10
Settings
.
gitlab
[
'max_attachment_size'
]
||=
10
Settings
.
gitlab
[
'max_attachment_size'
]
||=
10
...
...
spec/lib/gitlab/closing_issue_extractor_spec.rb
View file @
9cae1403
...
@@ -22,11 +22,21 @@ describe Gitlab::ClosingIssueExtractor, lib: true do
...
@@ -22,11 +22,21 @@ describe Gitlab::ClosingIssueExtractor, lib: true do
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
end
it
do
message
=
"Awesome commit (Closes:
#{
reference
}
)"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
it
do
it
do
message
=
"Awesome commit (closes
#{
reference
}
)"
message
=
"Awesome commit (closes
#{
reference
}
)"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
end
it
do
message
=
"Awesome commit (closes:
#{
reference
}
)"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
it
do
it
do
message
=
"Closed
#{
reference
}
"
message
=
"Closed
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
...
@@ -37,106 +47,211 @@ describe Gitlab::ClosingIssueExtractor, lib: true do
...
@@ -37,106 +47,211 @@ describe Gitlab::ClosingIssueExtractor, lib: true do
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
end
it
do
message
=
"closed:
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
it
do
it
do
message
=
"Closing
#{
reference
}
"
message
=
"Closing
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
end
it
do
message
=
"Closing:
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
it
do
it
do
message
=
"closing
#{
reference
}
"
message
=
"closing
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
end
it
do
message
=
"closing:
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
it
do
it
do
message
=
"Close
#{
reference
}
"
message
=
"Close
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
end
it
do
message
=
"Close:
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
it
do
it
do
message
=
"close
#{
reference
}
"
message
=
"close
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
end
it
do
message
=
"close:
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
it
do
it
do
message
=
"Awesome commit (Fixes
#{
reference
}
)"
message
=
"Awesome commit (Fixes
#{
reference
}
)"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
end
it
do
message
=
"Awesome commit (Fixes:
#{
reference
}
)"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
it
do
it
do
message
=
"Awesome commit (fixes
#{
reference
}
)"
message
=
"Awesome commit (fixes
#{
reference
}
)"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
end
it
do
message
=
"Awesome commit (Fixes:
#{
reference
}
)"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
it
do
it
do
message
=
"Fixed
#{
reference
}
"
message
=
"Fixed
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
end
it
do
message
=
"Fixed:
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
it
do
it
do
message
=
"fixed
#{
reference
}
"
message
=
"fixed
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
end
it
do
message
=
"fixed:
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
it
do
it
do
message
=
"Fixing
#{
reference
}
"
message
=
"Fixing
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
end
it
do
message
=
"Fixing:
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
it
do
it
do
message
=
"fixing
#{
reference
}
"
message
=
"fixing
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
end
it
do
message
=
"fixing:
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
it
do
it
do
message
=
"Fix
#{
reference
}
"
message
=
"Fix
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
end
it
do
message
=
"Fix:
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
it
do
it
do
message
=
"fix
#{
reference
}
"
message
=
"fix
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
end
it
do
message
=
"fix:
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
it
do
it
do
message
=
"Awesome commit (Resolves
#{
reference
}
)"
message
=
"Awesome commit (Resolves
#{
reference
}
)"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
end
it
do
message
=
"Awesome commit (Resolves:
#{
reference
}
)"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
it
do
it
do
message
=
"Awesome commit (resolves
#{
reference
}
)"
message
=
"Awesome commit (resolves
#{
reference
}
)"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
end
it
do
message
=
"Awesome commit (resolves:
#{
reference
}
)"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
it
do
it
do
message
=
"Resolved
#{
reference
}
"
message
=
"Resolved
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
end
it
do
message
=
"Resolved:
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
it
do
it
do
message
=
"resolved
#{
reference
}
"
message
=
"resolved
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
end
it
do
message
=
"resolved:
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
it
do
it
do
message
=
"Resolving
#{
reference
}
"
message
=
"Resolving
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
end
it
do
message
=
"Resolving:
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
it
do
it
do
message
=
"resolving
#{
reference
}
"
message
=
"resolving
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
end
it
do
message
=
"resolving:
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
it
do
it
do
message
=
"Resolve
#{
reference
}
"
message
=
"Resolve
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
end
it
do
message
=
"Resolve:
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
it
do
it
do
message
=
"resolve
#{
reference
}
"
message
=
"resolve
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
end
it
do
message
=
"resolve:
#{
reference
}
"
expect
(
subject
.
closed_by_message
(
message
)).
to
eq
([
issue
])
end
context
'with an external issue tracker reference'
do
context
'with an external issue tracker reference'
do
it
'extracts the referenced issue'
do
it
'extracts the referenced issue'
do
jira_project
=
create
(
:jira_project
,
name:
'JIRA_EXT1'
)
jira_project
=
create
(
:jira_project
,
name:
'JIRA_EXT1'
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment