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
Boxiang Sun
gitlab-ce
Commits
5d2b319d
Commit
5d2b319d
authored
Oct 04, 2018
by
Rémy Coutable
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'fix-todo-cops' into 'master'
Fix todo cops See merge request gitlab-org/gitlab-ce!21850
parents
8ec0eda9
869d8e81
Changes
27
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
40 additions
and
128 deletions
+40
-128
.rubocop_todo.yml
.rubocop_todo.yml
+0
-79
config/routes/project.rb
config/routes/project.rb
+1
-1
db/migrate/20170506185517_add_foreign_key_pipeline_schedules_and_pipelines.rb
...85517_add_foreign_key_pipeline_schedules_and_pipelines.rb
+1
-1
db/post_migrate/20161221153951_rename_reserved_project_names.rb
...t_migrate/20161221153951_rename_reserved_project_names.rb
+0
-2
db/post_migrate/20170313133418_rename_more_reserved_project_names.rb
...rate/20170313133418_rename_more_reserved_project_names.rb
+0
-2
lib/api/runners.rb
lib/api/runners.rb
+1
-1
lib/declarative_policy.rb
lib/declarative_policy.rb
+0
-2
lib/gitlab/git_access.rb
lib/gitlab/git_access.rb
+2
-2
lib/gitlab/url_sanitizer.rb
lib/gitlab/url_sanitizer.rb
+1
-1
spec/factories/broadcast_messages.rb
spec/factories/broadcast_messages.rb
+6
-6
spec/factories/ci/builds.rb
spec/factories/ci/builds.rb
+3
-3
spec/factories/ci/runners.rb
spec/factories/ci/runners.rb
+1
-1
spec/factories/clusters/applications/helm.rb
spec/factories/clusters/applications/helm.rb
+1
-1
spec/factories/clusters/platforms/kubernetes.rb
spec/factories/clusters/platforms/kubernetes.rb
+1
-2
spec/factories/emails.rb
spec/factories/emails.rb
+1
-1
spec/factories/gpg_keys.rb
spec/factories/gpg_keys.rb
+2
-2
spec/factories/group_members.rb
spec/factories/group_members.rb
+1
-1
spec/factories/merge_requests.rb
spec/factories/merge_requests.rb
+1
-1
spec/factories/notes.rb
spec/factories/notes.rb
+1
-1
spec/factories/oauth_access_grants.rb
spec/factories/oauth_access_grants.rb
+1
-1
spec/factories/project_members.rb
spec/factories/project_members.rb
+1
-1
spec/factories/todos.rb
spec/factories/todos.rb
+1
-1
spec/factories/uploads.rb
spec/factories/uploads.rb
+5
-5
spec/features/search/user_uses_search_filters_spec.rb
spec/features/search/user_uses_search_filters_spec.rb
+2
-2
spec/lib/gitlab/import_export/relation_factory_spec.rb
spec/lib/gitlab/import_export/relation_factory_spec.rb
+1
-3
spec/routing/project_routing_spec.rb
spec/routing/project_routing_spec.rb
+4
-4
spec/services/system_note_service_spec.rb
spec/services/system_note_service_spec.rb
+1
-1
No files found.
.rubocop_todo.yml
View file @
5d2b319d
...
...
@@ -10,24 +10,6 @@
Capybara/CurrentPathExpectation
:
Enabled
:
false
# Offense count: 23
FactoryBot/DynamicAttributeDefinedStatically
:
Exclude
:
-
'
spec/factories/broadcast_messages.rb'
-
'
spec/factories/ci/builds.rb'
-
'
spec/factories/ci/runners.rb'
-
'
spec/factories/clusters/applications/helm.rb'
-
'
spec/factories/clusters/platforms/kubernetes.rb'
-
'
spec/factories/emails.rb'
-
'
spec/factories/gpg_keys.rb'
-
'
spec/factories/group_members.rb'
-
'
spec/factories/merge_requests.rb'
-
'
spec/factories/notes.rb'
-
'
spec/factories/oauth_access_grants.rb'
-
'
spec/factories/project_members.rb'
-
'
spec/factories/todos.rb'
-
'
spec/factories/uploads.rb'
# Offense count: 167
# Cop supports --auto-correct.
Layout/EmptyLinesAroundArguments
:
...
...
@@ -53,20 +35,6 @@ Layout/IndentArray:
Layout/IndentHash
:
Enabled
:
false
# Offense count: 11
# Cop supports --auto-correct.
# Configuration parameters: AllowForAlignment.
Layout/SpaceBeforeFirstArg
:
Exclude
:
-
'
config/routes/project.rb'
-
'
db/migrate/20170506185517_add_foreign_key_pipeline_schedules_and_pipelines.rb'
-
'
features/steps/project/source/browse_files.rb'
-
'
features/steps/project/source/markdown_render.rb'
-
'
lib/api/runners.rb'
-
'
spec/features/search/user_uses_search_filters_spec.rb'
-
'
spec/routing/project_routing_spec.rb'
-
'
spec/services/system_note_service_spec.rb'
# Offense count: 93
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
...
...
@@ -74,15 +42,6 @@ Layout/SpaceBeforeFirstArg:
Layout/SpaceInLambdaLiteral
:
Enabled
:
false
# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBrackets.
# SupportedStyles: space, no_space, compact
# SupportedStylesForEmptyBrackets: space, no_space
Layout/SpaceInsideArrayLiteralBrackets
:
Exclude
:
-
'
spec/lib/gitlab/import_export/relation_factory_spec.rb'
# Offense count: 327
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
...
...
@@ -96,14 +55,6 @@ Layout/SpaceInsideBlockBraces:
Layout/SpaceInsideParens
:
Enabled
:
false
# Offense count: 14
# Cop supports --auto-correct.
Layout/SpaceInsidePercentLiteralDelimiters
:
Exclude
:
-
'
lib/gitlab/git_access.rb'
-
'
lib/gitlab/health_checks/fs_shards_check.rb'
-
'
spec/lib/gitlab/health_checks/fs_shards_check_spec.rb'
# Offense count: 26
Lint/DuplicateMethods
:
Exclude
:
...
...
@@ -135,31 +86,11 @@ Lint/InterpolationCheck:
Lint/MissingCopEnableDirective
:
Enabled
:
false
# Offense count: 2
Lint/NestedPercentLiteral
:
Exclude
:
-
'
lib/gitlab/git/repository.rb'
-
'
spec/support/shared_examples/email_format_shared_examples.rb'
# Offense count: 1
Lint/ReturnInVoidContext
:
Exclude
:
-
'
app/models/project.rb'
# Offense count: 1
# Configuration parameters: IgnoreImplicitReferences.
Lint/ShadowedArgument
:
Exclude
:
-
'
lib/gitlab/database/sha_attribute.rb'
# Offense count: 3
# Cop supports --auto-correct.
Lint/UnneededRequireStatement
:
Exclude
:
-
'
db/post_migrate/20161221153951_rename_reserved_project_names.rb'
-
'
db/post_migrate/20170313133418_rename_more_reserved_project_names.rb'
-
'
lib/declarative_policy.rb'
# Offense count: 9
Lint/UriEscapeUnescape
:
Exclude
:
...
...
@@ -199,16 +130,6 @@ Naming/HeredocDelimiterCase:
Naming/HeredocDelimiterNaming
:
Enabled
:
false
# Offense count: 1
Performance/UnfreezeString
:
Exclude
:
-
'
features/steps/project/commits/commits.rb'
# Offense count: 1
# Cop supports --auto-correct.
Performance/UriDefaultParser
:
Exclude
:
-
'
lib/gitlab/url_sanitizer.rb'
# Offense count: 3821
# Configuration parameters: Prefixes.
...
...
config/routes/project.rb
View file @
5d2b319d
...
...
@@ -365,7 +365,7 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
get
:discussions
,
format: :json
end
collection
do
post
:bulk_update
post
:bulk_update
end
end
...
...
db/migrate/20170506185517_add_foreign_key_pipeline_schedules_and_pipelines.rb
View file @
5d2b319d
...
...
@@ -13,7 +13,7 @@ class AddForeignKeyPipelineSchedulesAndPipelines < ActiveRecord::Migration
'SET NULL'
end
add_concurrent_foreign_key
:ci_pipelines
,
:ci_pipeline_schedules
,
add_concurrent_foreign_key
:ci_pipelines
,
:ci_pipeline_schedules
,
column: :pipeline_schedule_id
,
on_delete:
on_delete
end
...
...
db/post_migrate/20161221153951_rename_reserved_project_names.rb
View file @
5d2b319d
require
'thread'
class
RenameReservedProjectNames
<
ActiveRecord
::
Migration
include
Gitlab
::
Database
::
MigrationHelpers
include
Gitlab
::
ShellAdapter
...
...
db/post_migrate/20170313133418_rename_more_reserved_project_names.rb
View file @
5d2b319d
require
'thread'
class
RenameMoreReservedProjectNames
<
ActiveRecord
::
Migration
include
Gitlab
::
Database
::
MigrationHelpers
include
Gitlab
::
ShellAdapter
...
...
lib/api/runners.rb
View file @
5d2b319d
...
...
@@ -113,7 +113,7 @@ module API
optional
:status
,
type:
String
,
desc:
'Status of the job'
,
values:
Ci
::
Build
::
AVAILABLE_STATUSES
use
:pagination
end
get
':id/jobs'
do
get
':id/jobs'
do
runner
=
get_runner
(
params
[
:id
])
authenticate_list_runners_jobs!
(
runner
)
...
...
lib/declarative_policy.rb
View file @
5d2b319d
...
...
@@ -10,8 +10,6 @@ require_dependency 'declarative_policy/step'
require_dependency
'declarative_policy/base'
require
'thread'
module
DeclarativePolicy
CLASS_CACHE_MUTEX
=
Mutex
.
new
CLASS_CACHE_IVAR
=
:@__DeclarativePolicy_CLASS_CACHE
...
...
lib/gitlab/git_access.rb
View file @
5d2b319d
...
...
@@ -24,8 +24,8 @@ module Gitlab
cannot_push_to_read_only:
"You can't push code to a read-only GitLab instance."
}.
freeze
DOWNLOAD_COMMANDS
=
%w{
git-upload-pack git-upload-archive
}
.
freeze
PUSH_COMMANDS
=
%w{
git-receive-pack
}
.
freeze
DOWNLOAD_COMMANDS
=
%w{
git-upload-pack git-upload-archive
}
.
freeze
PUSH_COMMANDS
=
%w{
git-receive-pack
}
.
freeze
ALL_COMMANDS
=
DOWNLOAD_COMMANDS
+
PUSH_COMMANDS
attr_reader
:actor
,
:project
,
:protocol
,
:authentication_abilities
,
:namespace_path
,
:project_path
,
:redirected_path
,
:auth_result_type
,
:changes
...
...
lib/gitlab/url_sanitizer.rb
View file @
5d2b319d
...
...
@@ -3,7 +3,7 @@ module Gitlab
ALLOWED_SCHEMES
=
%w[http https ssh git]
.
freeze
def
self
.
sanitize
(
content
)
regexp
=
URI
::
Parser
.
new
.
make_regexp
(
ALLOWED_SCHEMES
)
regexp
=
URI
::
DEFAULT_PARSER
.
make_regexp
(
ALLOWED_SCHEMES
)
content
.
gsub
(
regexp
)
{
|
url
|
new
(
url
).
masked_url
}
rescue
Addressable
::
URI
::
InvalidURIError
...
...
spec/factories/broadcast_messages.rb
View file @
5d2b319d
FactoryBot
.
define
do
factory
:broadcast_message
do
message
"MyText"
starts_at
1
.
day
.
ago
ends_at
1
.
day
.
from_now
starts_at
{
1
.
day
.
ago
}
ends_at
{
1
.
day
.
from_now
}
trait
:expired
do
starts_at
5
.
days
.
ago
ends_at
3
.
days
.
ago
starts_at
{
5
.
days
.
ago
}
ends_at
{
3
.
days
.
ago
}
end
trait
:future
do
starts_at
5
.
days
.
from_now
ends_at
6
.
days
.
from_now
starts_at
{
5
.
days
.
from_now
}
ends_at
{
6
.
days
.
from_now
}
end
end
end
spec/factories/ci/builds.rb
View file @
5d2b319d
...
...
@@ -159,12 +159,12 @@ FactoryBot.define do
end
trait
:erased
do
erased_at
Time
.
now
erased_at
{
Time
.
now
}
erased_by
factory: :user
end
trait
:queued
do
queued_at
Time
.
now
queued_at
{
Time
.
now
}
runner
factory: :ci_runner
end
...
...
@@ -194,7 +194,7 @@ FactoryBot.define do
end
trait
:expired
do
artifacts_expire_at
1
.
minute
.
ago
artifacts_expire_at
{
1
.
minute
.
ago
}
end
trait
:with_commit
do
...
...
spec/factories/ci/runners.rb
View file @
5d2b319d
...
...
@@ -9,7 +9,7 @@ FactoryBot.define do
runner_type
:instance_type
trait
:online
do
contacted_at
Time
.
now
contacted_at
{
Time
.
now
}
end
trait
:instance
do
...
...
spec/factories/clusters/applications/helm.rb
View file @
5d2b319d
...
...
@@ -42,7 +42,7 @@ FactoryBot.define do
trait
:timeouted
do
installing
updated_at
ClusterWaitForAppInstallationWorker
::
TIMEOUT
.
ago
updated_at
{
ClusterWaitForAppInstallationWorker
::
TIMEOUT
.
ago
}
end
factory
:clusters_applications_ingress
,
class:
Clusters
::
Applications
::
Ingress
do
...
...
spec/factories/clusters/platforms/kubernetes.rb
View file @
5d2b319d
...
...
@@ -3,11 +3,10 @@ FactoryBot.define do
cluster
namespace
nil
api_url
'https://kubernetes.example.com'
token
'a'
*
40
token
{
'a'
*
40
}
trait
:configured
do
api_url
'https://kubernetes.example.com'
token
'a'
*
40
username
'xxxxxx'
password
'xxxxxx'
...
...
spec/factories/emails.rb
View file @
5d2b319d
...
...
@@ -3,7 +3,7 @@ FactoryBot.define do
user
email
{
generate
(
:email_alias
)
}
trait
(
:confirmed
)
{
confirmed_at
Time
.
now
}
trait
(
:confirmed
)
{
confirmed_at
{
Time
.
now
}
}
trait
(
:skip_validate
)
{
to_create
{
|
instance
|
instance
.
save
(
validate:
false
)
}
}
end
end
spec/factories/gpg_keys.rb
View file @
5d2b319d
...
...
@@ -2,11 +2,11 @@ require_relative '../support/helpers/gpg_helpers'
FactoryBot
.
define
do
factory
:gpg_key
do
key
GpgHelpers
::
User1
.
public_key
key
{
GpgHelpers
::
User1
.
public_key
}
user
factory
:gpg_key_with_subkeys
do
key
GpgHelpers
::
User1
.
public_key_with_extra_signing_key
key
{
GpgHelpers
::
User1
.
public_key_with_extra_signing_key
}
end
end
end
spec/factories/group_members.rb
View file @
5d2b319d
...
...
@@ -9,7 +9,7 @@ FactoryBot.define do
trait
(
:developer
)
{
access_level
GroupMember
::
DEVELOPER
}
trait
(
:maintainer
)
{
access_level
GroupMember
::
MAINTAINER
}
trait
(
:owner
)
{
access_level
GroupMember
::
OWNER
}
trait
(
:access_request
)
{
requested_at
Time
.
now
}
trait
(
:access_request
)
{
requested_at
{
Time
.
now
}
}
trait
(
:invited
)
do
user_id
nil
...
...
spec/factories/merge_requests.rb
View file @
5d2b319d
...
...
@@ -80,7 +80,7 @@ FactoryBot.define do
trait
:merge_when_pipeline_succeeds
do
merge_when_pipeline_succeeds
true
merge_user
author
merge_user
{
author
}
end
trait
:remove_source_branch
do
...
...
spec/factories/notes.rb
View file @
5d2b319d
...
...
@@ -90,7 +90,7 @@ FactoryBot.define do
noteable
nil
noteable_type
'Commit'
noteable_id
nil
commit_id
RepoHelpers
.
sample_commit
.
id
commit_id
{
RepoHelpers
.
sample_commit
.
id
}
end
trait
:legacy_diff_note
do
...
...
spec/factories/oauth_access_grants.rb
View file @
5d2b319d
...
...
@@ -3,7 +3,7 @@ FactoryBot.define do
resource_owner_id
{
create
(
:user
).
id
}
application
token
{
Doorkeeper
::
OAuth
::
Helpers
::
UniqueToken
.
generate
}
expires_in
2
.
hours
expires_in
{
2
.
hours
}
redirect_uri
{
application
.
redirect_uri
}
scopes
{
application
.
scopes
}
...
...
spec/factories/project_members.rb
View file @
5d2b319d
...
...
@@ -8,7 +8,7 @@ FactoryBot.define do
trait
(
:reporter
)
{
access_level
ProjectMember
::
REPORTER
}
trait
(
:developer
)
{
access_level
ProjectMember
::
DEVELOPER
}
trait
(
:maintainer
)
{
access_level
ProjectMember
::
MAINTAINER
}
trait
(
:access_request
)
{
requested_at
Time
.
now
}
trait
(
:access_request
)
{
requested_at
{
Time
.
now
}
}
trait
(
:invited
)
do
user_id
nil
...
...
spec/factories/todos.rb
View file @
5d2b319d
...
...
@@ -49,7 +49,7 @@ FactoryBot.define do
author
user
action
{
Todo
::
ASSIGNED
}
commit_id
RepoHelpers
.
sample_commit
.
id
commit_id
{
RepoHelpers
.
sample_commit
.
id
}
target_type
"Commit"
end
end
spec/factories/uploads.rb
View file @
5d2b319d
FactoryBot
.
define
do
factory
:upload
do
model
{
build
(
:project
)
}
size
100
.
kilobytes
size
{
100
.
kilobytes
}
uploader
"AvatarUploader"
mount_point
:avatar
secret
nil
...
...
@@ -19,13 +19,13 @@ FactoryBot.define do
uploader
"PersonalFileUploader"
path
{
File
.
join
(
secret
,
filename
)
}
model
{
build
(
:personal_snippet
)
}
secret
SecureRandom
.
hex
secret
{
SecureRandom
.
hex
}
end
trait
:issuable_upload
do
uploader
"FileUploader"
path
{
File
.
join
(
secret
,
filename
)
}
secret
SecureRandom
.
hex
secret
{
SecureRandom
.
hex
}
end
trait
:with_file
do
...
...
@@ -43,14 +43,14 @@ FactoryBot.define do
model
{
build
(
:group
)
}
path
{
File
.
join
(
secret
,
filename
)
}
uploader
"NamespaceFileUploader"
secret
SecureRandom
.
hex
secret
{
SecureRandom
.
hex
}
end
trait
:favicon_upload
do
model
{
build
(
:appearance
)
}
path
{
File
.
join
(
secret
,
filename
)
}
uploader
"FaviconUploader"
secret
SecureRandom
.
hex
secret
{
SecureRandom
.
hex
}
end
trait
:attachment_upload
do
...
...
spec/features/search/user_uses_search_filters_spec.rb
View file @
5d2b319d
...
...
@@ -14,7 +14,7 @@ describe 'User uses search filters', :js do
visit
(
search_path
)
end
context
'
when filtering by group'
do
context
'
when filtering by group'
do
it
'shows group projects'
do
find
(
'.js-search-group-dropdown'
).
click
...
...
@@ -36,7 +36,7 @@ describe 'User uses search filters', :js do
end
end
context
'
when filtering by project'
do
context
'
when filtering by project'
do
it
'shows a project'
do
page
.
within
(
'.project-filter'
)
do
find
(
'.js-search-project-dropdown'
).
click
...
...
spec/lib/gitlab/import_export/relation_factory_spec.rb
View file @
5d2b319d
...
...
@@ -191,9 +191,7 @@ describe Gitlab::ImportExport::RelationFactory do
"author"
=>
{
"name"
=>
"Administrator"
},
"events"
=>
[
]
"events"
=>
[]
}
end
...
...
spec/routing/project_routing_spec.rb
View file @
5d2b319d
...
...
@@ -258,10 +258,10 @@ describe 'project routing' do
end
it
'to #logs_tree'
do
expect
(
get
(
'/gitlab/gitlabhq/refs/stable/logs_tree'
)).
to
route_to
(
'projects/refs#logs_tree'
,
namespace_id:
'gitlab'
,
project_id:
'gitlabhq'
,
id:
'stable'
)
expect
(
get
(
'/gitlab/gitlabhq/refs/feature%2345/logs_tree'
)).
to
route_to
(
'projects/refs#logs_tree'
,
namespace_id:
'gitlab'
,
project_id:
'gitlabhq'
,
id:
'feature#45'
)
expect
(
get
(
'/gitlab/gitlabhq/refs/feature%2B45/logs_tree'
)).
to
route_to
(
'projects/refs#logs_tree'
,
namespace_id:
'gitlab'
,
project_id:
'gitlabhq'
,
id:
'feature+45'
)
expect
(
get
(
'/gitlab/gitlabhq/refs/feature@45/logs_tree'
)).
to
route_to
(
'projects/refs#logs_tree'
,
namespace_id:
'gitlab'
,
project_id:
'gitlabhq'
,
id:
'feature@45'
)
expect
(
get
(
'/gitlab/gitlabhq/refs/stable/logs_tree'
)).
to
route_to
(
'projects/refs#logs_tree'
,
namespace_id:
'gitlab'
,
project_id:
'gitlabhq'
,
id:
'stable'
)
expect
(
get
(
'/gitlab/gitlabhq/refs/feature%2345/logs_tree'
)).
to
route_to
(
'projects/refs#logs_tree'
,
namespace_id:
'gitlab'
,
project_id:
'gitlabhq'
,
id:
'feature#45'
)
expect
(
get
(
'/gitlab/gitlabhq/refs/feature%2B45/logs_tree'
)).
to
route_to
(
'projects/refs#logs_tree'
,
namespace_id:
'gitlab'
,
project_id:
'gitlabhq'
,
id:
'feature+45'
)
expect
(
get
(
'/gitlab/gitlabhq/refs/feature@45/logs_tree'
)).
to
route_to
(
'projects/refs#logs_tree'
,
namespace_id:
'gitlab'
,
project_id:
'gitlabhq'
,
id:
'feature@45'
)
expect
(
get
(
'/gitlab/gitlabhq/refs/stable/logs_tree/foo/bar/baz'
)).
to
route_to
(
'projects/refs#logs_tree'
,
namespace_id:
'gitlab'
,
project_id:
'gitlabhq'
,
id:
'stable'
,
path:
'foo/bar/baz'
)
expect
(
get
(
'/gitlab/gitlabhq/refs/feature%2345/logs_tree/foo/bar/baz'
)).
to
route_to
(
'projects/refs#logs_tree'
,
namespace_id:
'gitlab'
,
project_id:
'gitlabhq'
,
id:
'feature#45'
,
path:
'foo/bar/baz'
)
expect
(
get
(
'/gitlab/gitlabhq/refs/feature%2B45/logs_tree/foo/bar/baz'
)).
to
route_to
(
'projects/refs#logs_tree'
,
namespace_id:
'gitlab'
,
project_id:
'gitlabhq'
,
id:
'feature+45'
,
path:
'foo/bar/baz'
)
...
...
spec/services/system_note_service_spec.rb
View file @
5d2b319d
...
...
@@ -324,7 +324,7 @@ describe SystemNoteService do
end
it
"posts the 'merge when pipeline succeeds' system note"
do
expect
(
subject
.
note
).
to
eq
"canceled the automatic merge"
expect
(
subject
.
note
).
to
eq
"canceled the automatic merge"
end
end
...
...
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