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
1
Merge Requests
1
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
nexedi
gitlab-ce
Commits
9f05e97a
Commit
9f05e97a
authored
Mar 13, 2019
by
Nick Thomas
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Run rubocop -a
parent
5ed9c5f7
Changes
46
Hide whitespace changes
Inline
Side-by-side
Showing
46 changed files
with
326 additions
and
428 deletions
+326
-428
app/models/merge_request_diff.rb
app/models/merge_request_diff.rb
+4
-6
app/models/merge_request_diff_file.rb
app/models/merge_request_diff_file.rb
+1
-1
app/models/project.rb
app/models/project.rb
+3
-5
app/models/project_services/jira_service.rb
app/models/project_services/jira_service.rb
+4
-6
app/models/repository.rb
app/models/repository.rb
+6
-8
app/models/user_interacted_project.rb
app/models/user_interacted_project.rb
+8
-10
app/serializers/detailed_status_entity.rb
app/serializers/detailed_status_entity.rb
+7
-9
app/services/projects/lfs_pointers/lfs_download_link_list_service.rb
...s/projects/lfs_pointers/lfs_download_link_list_service.rb
+7
-9
app/services/projects/lfs_pointers/lfs_download_service.rb
app/services/projects/lfs_pointers/lfs_download_service.rb
+9
-11
app/workers/concerns/waitable_worker.rb
app/workers/concerns/waitable_worker.rb
+3
-5
app/workers/create_gpg_signature_worker.rb
app/workers/create_gpg_signature_worker.rb
+3
-5
app/workers/emails_on_push_worker.rb
app/workers/emails_on_push_worker.rb
+16
-18
app/workers/object_storage/migrate_uploads_worker.rb
app/workers/object_storage/migrate_uploads_worker.rb
+3
-5
app/workers/pipeline_schedule_worker.rb
app/workers/pipeline_schedule_worker.rb
+9
-10
app/workers/remove_expired_members_worker.rb
app/workers/remove_expired_members_worker.rb
+3
-5
config/initializers/trusted_proxies.rb
config/initializers/trusted_proxies.rb
+2
-4
db/migrate/20170530130129_project_foreign_keys_with_cascading_deletes.rb
...0530130129_project_foreign_keys_with_cascading_deletes.rb
+4
-5
lib/api/project_milestones.rb
lib/api/project_milestones.rb
+7
-9
lib/api/repositories.rb
lib/api/repositories.rb
+7
-11
lib/gitlab/background_migration/archive_legacy_traces.rb
lib/gitlab/background_migration/archive_legacy_traces.rb
+4
-5
lib/gitlab/background_migration/normalize_ldap_extern_uids_range.rb
.../background_migration/normalize_ldap_extern_uids_range.rb
+5
-7
lib/gitlab/background_migration/populate_untracked_uploads.rb
...gitlab/background_migration/populate_untracked_uploads.rb
+6
-8
lib/gitlab/bitbucket_import/importer.rb
lib/gitlab/bitbucket_import/importer.rb
+67
-75
lib/gitlab/bitbucket_server_import/importer.rb
lib/gitlab/bitbucket_server_import/importer.rb
+17
-23
lib/gitlab/ci/build/artifacts/metadata.rb
lib/gitlab/ci/build/artifacts/metadata.rb
+1
-1
lib/gitlab/database/multi_threaded_migration.rb
lib/gitlab/database/multi_threaded_migration.rb
+4
-6
lib/gitlab/database/sha_attribute.rb
lib/gitlab/database/sha_attribute.rb
+1
-1
lib/gitlab/gitaly_client.rb
lib/gitlab/gitaly_client.rb
+5
-7
lib/gitlab/gitaly_client/blobs_stitcher.rb
lib/gitlab/gitaly_client/blobs_stitcher.rb
+9
-11
lib/gitlab/legacy_github_import/importer.rb
lib/gitlab/legacy_github_import/importer.rb
+24
-32
lib/gitlab/metrics/influx_db.rb
lib/gitlab/metrics/influx_db.rb
+2
-4
lib/tasks/gitlab/artifacts/migrate.rake
lib/tasks/gitlab/artifacts/migrate.rake
+6
-7
lib/tasks/gitlab/lfs/migrate.rake
lib/tasks/gitlab/lfs/migrate.rake
+5
-6
lib/tasks/gitlab/traces.rake
lib/tasks/gitlab/traces.rake
+5
-6
lib/tasks/lint.rake
lib/tasks/lint.rake
+3
-5
lib/tasks/migrate/migrate_iids.rake
lib/tasks/migrate/migrate_iids.rake
+18
-24
qa/qa/page/project/web_ide/edit.rb
qa/qa/page/project/web_ide/edit.rb
+3
-5
scripts/gitaly_test.rb
scripts/gitaly_test.rb
+7
-9
scripts/merge-simplecov
scripts/merge-simplecov
+3
-5
spec/lib/gitlab/background_migration/deserialize_merge_request_diffs_and_commits_spec.rb
...ation/deserialize_merge_request_diffs_and_commits_spec.rb
+2
-4
spec/lib/gitlab/git/repository_cleaner_spec.rb
spec/lib/gitlab/git/repository_cleaner_spec.rb
+5
-7
spec/rack_servers/puma_spec.rb
spec/rack_servers/puma_spec.rb
+3
-5
spec/services/projects/destroy_service_spec.rb
spec/services/projects/destroy_service_spec.rb
+2
-4
spec/support/helpers/graphql_helpers.rb
spec/support/helpers/graphql_helpers.rb
+4
-6
spec/support/helpers/stub_object_storage.rb
spec/support/helpers/stub_object_storage.rb
+5
-7
spec/support/helpers/test_env.rb
spec/support/helpers/test_env.rb
+4
-6
No files found.
app/models/merge_request_diff.rb
View file @
9f05e97a
...
@@ -286,13 +286,11 @@ class MergeRequestDiff < ActiveRecord::Base
...
@@ -286,13 +286,11 @@ class MergeRequestDiff < ActiveRecord::Base
return
yield
(
@external_diff_file
)
if
@external_diff_file
return
yield
(
@external_diff_file
)
if
@external_diff_file
external_diff
.
open
do
|
file
|
external_diff
.
open
do
|
file
|
begin
@external_diff_file
=
file
@external_diff_file
=
file
yield
(
@external_diff_file
)
yield
(
@external_diff_file
)
ensure
ensure
@external_diff_file
=
nil
@external_diff_file
=
nil
end
end
end
end
end
...
...
app/models/merge_request_diff_file.rb
View file @
9f05e97a
...
@@ -23,6 +23,6 @@ class MergeRequestDiffFile < ActiveRecord::Base
...
@@ -23,6 +23,6 @@ class MergeRequestDiffFile < ActiveRecord::Base
super
super
end
end
binary?
?
content
.
unpack
(
'm0'
).
first
:
content
binary?
?
content
.
unpack
1
(
'm0'
)
:
content
end
end
end
end
app/models/project.rb
View file @
9f05e97a
...
@@ -1209,11 +1209,9 @@ class Project < ActiveRecord::Base
...
@@ -1209,11 +1209,9 @@ class Project < ActiveRecord::Base
def
repo_exists?
def
repo_exists?
strong_memoize
(
:repo_exists
)
do
strong_memoize
(
:repo_exists
)
do
begin
repository
.
exists?
repository
.
exists?
rescue
rescue
false
false
end
end
end
end
end
...
...
app/models/project_services/jira_service.rb
View file @
9f05e97a
...
@@ -205,12 +205,10 @@ class JiraService < IssueTrackerService
...
@@ -205,12 +205,10 @@ class JiraService < IssueTrackerService
# if any transition fails it will log the error message and stop the transition sequence
# if any transition fails it will log the error message and stop the transition sequence
def
transition_issue
(
issue
)
def
transition_issue
(
issue
)
jira_issue_transition_id
.
scan
(
Gitlab
::
Regex
.
jira_transition_id_regex
).
each
do
|
transition_id
|
jira_issue_transition_id
.
scan
(
Gitlab
::
Regex
.
jira_transition_id_regex
).
each
do
|
transition_id
|
begin
issue
.
transitions
.
build
.
save!
(
transition:
{
id:
transition_id
})
issue
.
transitions
.
build
.
save!
(
transition:
{
id:
transition_id
})
rescue
=>
error
rescue
=>
error
log_error
(
"Issue transition failed"
,
error:
error
.
message
,
client_url:
client_url
)
log_error
(
"Issue transition failed"
,
error:
error
.
message
,
client_url:
client_url
)
return
false
return
false
end
end
end
end
end
...
...
app/models/repository.rb
View file @
9f05e97a
...
@@ -265,16 +265,14 @@ class Repository
...
@@ -265,16 +265,14 @@ class Repository
# to avoid unnecessary syncing.
# to avoid unnecessary syncing.
def
keep_around
(
*
shas
)
def
keep_around
(
*
shas
)
shas
.
each
do
|
sha
|
shas
.
each
do
|
sha
|
begin
next
unless
sha
.
present?
&&
commit_by
(
oid:
sha
)
next
unless
sha
.
present?
&&
commit_by
(
oid:
sha
)
next
if
kept_around?
(
sha
)
next
if
kept_around?
(
sha
)
# This will still fail if the file is corrupted (e.g. 0 bytes)
# This will still fail if the file is corrupted (e.g. 0 bytes)
raw_repository
.
write_ref
(
keep_around_ref_name
(
sha
),
sha
)
raw_repository
.
write_ref
(
keep_around_ref_name
(
sha
),
sha
)
rescue
Gitlab
::
Git
::
CommandError
=>
ex
rescue
Gitlab
::
Git
::
CommandError
=>
ex
Rails
.
logger
.
error
"Unable to create keep-around reference for repository
#{
disk_path
}
:
#{
ex
}
"
Rails
.
logger
.
error
"Unable to create keep-around reference for repository
#{
disk_path
}
:
#{
ex
}
"
end
end
end
end
end
...
...
app/models/user_interacted_project.rb
View file @
9f05e97a
...
@@ -26,16 +26,14 @@ class UserInteractedProject < ActiveRecord::Base
...
@@ -26,16 +26,14 @@ class UserInteractedProject < ActiveRecord::Base
cached_exists?
(
attributes
)
do
cached_exists?
(
attributes
)
do
transaction
(
requires_new:
true
)
do
transaction
(
requires_new:
true
)
do
begin
where
(
attributes
).
select
(
1
).
first
||
create!
(
attributes
)
where
(
attributes
).
select
(
1
).
first
||
create!
(
attributes
)
true
# not caching the whole record here for now
true
# not caching the whole record here for now
rescue
ActiveRecord
::
RecordNotUnique
rescue
ActiveRecord
::
RecordNotUnique
# Note, above queries are not atomic and prone
# Note, above queries are not atomic and prone
# to race conditions (similar like #find_or_create!).
# to race conditions (similar like #find_or_create!).
# In the case where we hit this, the record we want
# In the case where we hit this, the record we want
# already exists - shortcut and return.
# already exists - shortcut and return.
true
true
end
end
end
end
end
end
end
...
...
app/serializers/detailed_status_entity.rb
View file @
9f05e97a
...
@@ -9,16 +9,14 @@ class DetailedStatusEntity < Grape::Entity
...
@@ -9,16 +9,14 @@ class DetailedStatusEntity < Grape::Entity
expose
:details_path
expose
:details_path
expose
:illustration
do
|
status
|
expose
:illustration
do
|
status
|
begin
illustration
=
{
illustration
=
{
image:
ActionController
::
Base
.
helpers
.
image_path
(
status
.
illustration
[
:image
])
image:
ActionController
::
Base
.
helpers
.
image_path
(
status
.
illustration
[
:image
])
}
}
illustration
=
status
.
illustration
.
merge
(
illustration
)
illustration
=
status
.
illustration
.
merge
(
illustration
)
illustration
illustration
rescue
NotImplementedError
rescue
NotImplementedError
# ignored
# ignored
end
end
end
expose
:favicon
do
|
status
|
expose
:favicon
do
|
status
|
...
...
app/services/projects/lfs_pointers/lfs_download_link_list_service.rb
View file @
9f05e97a
...
@@ -42,17 +42,15 @@ module Projects
...
@@ -42,17 +42,15 @@ module Projects
def
parse_response_links
(
objects_response
)
def
parse_response_links
(
objects_response
)
objects_response
.
each_with_object
([])
do
|
entry
,
link_list
|
objects_response
.
each_with_object
([])
do
|
entry
,
link_list
|
begin
link
=
entry
.
dig
(
'actions'
,
DOWNLOAD_ACTION
,
'href'
)
link
=
entry
.
dig
(
'actions'
,
DOWNLOAD_ACTION
,
'href'
)
raise
DownloadLinkNotFound
unless
link
raise
DownloadLinkNotFound
unless
link
link_list
<<
LfsDownloadObject
.
new
(
oid:
entry
[
'oid'
],
link_list
<<
LfsDownloadObject
.
new
(
oid:
entry
[
'oid'
],
size:
entry
[
'size'
],
size:
entry
[
'size'
],
link:
add_credentials
(
link
))
link:
add_credentials
(
link
))
rescue
DownloadLinkNotFound
,
Addressable
::
URI
::
InvalidURIError
rescue
DownloadLinkNotFound
,
Addressable
::
URI
::
InvalidURIError
log_error
(
"Link for Lfs Object with oid
#{
entry
[
'oid'
]
}
not found or invalid."
)
log_error
(
"Link for Lfs Object with oid
#{
entry
[
'oid'
]
}
not found or invalid."
)
end
end
end
end
end
...
...
app/services/projects/lfs_pointers/lfs_download_service.rb
View file @
9f05e97a
...
@@ -75,17 +75,15 @@ module Projects
...
@@ -75,17 +75,15 @@ module Projects
create_tmp_storage_dir
create_tmp_storage_dir
File
.
open
(
tmp_filename
,
'wb'
)
do
|
file
|
File
.
open
(
tmp_filename
,
'wb'
)
do
|
file
|
begin
yield
file
yield
file
rescue
StandardError
=>
e
rescue
StandardError
=>
e
# If the lfs file is successfully downloaded it will be removed
# If the lfs file is successfully downloaded it will be removed
# when it is added to the project's lfs files.
# when it is added to the project's lfs files.
# Nevertheless if any excetion raises the file would remain
# Nevertheless if any excetion raises the file would remain
# in the file system. Here we ensure to remove it
# in the file system. Here we ensure to remove it
File
.
unlink
(
file
)
if
File
.
exist?
(
file
)
File
.
unlink
(
file
)
if
File
.
exist?
(
file
)
raise
e
raise
e
end
end
end
end
end
...
...
app/workers/concerns/waitable_worker.rb
View file @
9f05e97a
...
@@ -25,11 +25,9 @@ module WaitableWorker
...
@@ -25,11 +25,9 @@ module WaitableWorker
failed
=
[]
failed
=
[]
args_list
.
each
do
|
args
|
args_list
.
each
do
|
args
|
begin
new
.
perform
(
*
args
)
new
.
perform
(
*
args
)
rescue
rescue
failed
<<
args
failed
<<
args
end
end
end
bulk_perform_async
(
failed
)
if
failed
.
present?
bulk_perform_async
(
failed
)
if
failed
.
present?
...
...
app/workers/create_gpg_signature_worker.rb
View file @
9f05e97a
...
@@ -20,11 +20,9 @@ class CreateGpgSignatureWorker
...
@@ -20,11 +20,9 @@ class CreateGpgSignatureWorker
# This calculates and caches the signature in the database
# This calculates and caches the signature in the database
commits
.
each
do
|
commit
|
commits
.
each
do
|
commit
|
begin
Gitlab
::
Gpg
::
Commit
.
new
(
commit
).
signature
Gitlab
::
Gpg
::
Commit
.
new
(
commit
).
signature
rescue
=>
e
rescue
=>
e
Rails
.
logger
.
error
(
"Failed to create signature for commit
#{
commit
.
id
}
. Error:
#{
e
.
message
}
"
)
Rails
.
logger
.
error
(
"Failed to create signature for commit
#{
commit
.
id
}
. Error:
#{
e
.
message
}
"
)
end
end
end
end
end
# rubocop: enable CodeReuse/ActiveRecord
# rubocop: enable CodeReuse/ActiveRecord
...
...
app/workers/emails_on_push_worker.rb
View file @
9f05e97a
...
@@ -52,24 +52,22 @@ class EmailsOnPushWorker
...
@@ -52,24 +52,22 @@ class EmailsOnPushWorker
end
end
valid_recipients
(
recipients
).
each
do
|
recipient
|
valid_recipients
(
recipients
).
each
do
|
recipient
|
begin
send_email
(
send_email
(
recipient
,
recipient
,
project_id
,
project_id
,
author_id:
author_id
,
author_id:
author_id
,
ref:
ref
,
ref:
ref
,
action:
action
,
action:
action
,
compare:
compare
,
compare:
compare
,
reverse_compare:
reverse_compare
,
reverse_compare:
reverse_compare
,
diff_refs:
diff_refs
,
diff_refs:
diff_refs
,
send_from_committer_email:
send_from_committer_email
,
send_from_committer_email:
send_from_committer_email
,
disable_diffs:
disable_diffs
disable_diffs:
disable_diffs
)
)
# These are input errors and won't be corrected even if Sidekiq retries
# These are input errors and won't be corrected even if Sidekiq retries
rescue
Net
::
SMTPFatalError
,
Net
::
SMTPSyntaxError
=>
e
rescue
Net
::
SMTPFatalError
,
Net
::
SMTPSyntaxError
=>
e
logger
.
info
(
"Failed to send e-mail for project '
#{
project
.
full_name
}
' to
#{
recipient
}
:
#{
e
}
"
)
logger
.
info
(
"Failed to send e-mail for project '
#{
project
.
full_name
}
' to
#{
recipient
}
:
#{
e
}
"
)
end
end
end
ensure
ensure
@email
=
nil
@email
=
nil
...
...
app/workers/object_storage/migrate_uploads_worker.rb
View file @
9f05e97a
...
@@ -126,11 +126,9 @@ module ObjectStorage
...
@@ -126,11 +126,9 @@ module ObjectStorage
def
process_uploader
(
uploader
)
def
process_uploader
(
uploader
)
MigrationResult
.
new
(
uploader
.
upload
).
tap
do
|
result
|
MigrationResult
.
new
(
uploader
.
upload
).
tap
do
|
result
|
begin
uploader
.
migrate!
(
@to_store
)
uploader
.
migrate!
(
@to_store
)
rescue
=>
e
rescue
=>
e
result
.
error
=
e
result
.
error
=
e
end
end
end
end
end
end
end
...
...
app/workers/pipeline_schedule_worker.rb
View file @
9f05e97a
...
@@ -8,16 +8,15 @@ class PipelineScheduleWorker
...
@@ -8,16 +8,15 @@ class PipelineScheduleWorker
def
perform
def
perform
Ci
::
PipelineSchedule
.
active
.
where
(
"next_run_at < ?"
,
Time
.
now
)
Ci
::
PipelineSchedule
.
active
.
where
(
"next_run_at < ?"
,
Time
.
now
)
.
preload
(
:owner
,
:project
).
find_each
do
|
schedule
|
.
preload
(
:owner
,
:project
).
find_each
do
|
schedule
|
begin
Ci
::
CreatePipelineService
.
new
(
schedule
.
project
,
Ci
::
CreatePipelineService
.
new
(
schedule
.
project
,
schedule
.
owner
,
schedule
.
owner
,
ref:
schedule
.
ref
)
ref:
schedule
.
ref
)
.
execute!
(
:schedule
,
ignore_skip_ci:
true
,
save_on_errors:
true
,
schedule:
schedule
)
.
execute!
(
:schedule
,
ignore_skip_ci:
true
,
save_on_errors:
true
,
schedule:
schedule
)
rescue
=>
e
rescue
=>
e
error
(
schedule
,
e
)
error
(
schedule
,
e
)
ensure
ensure
schedule
.
schedule_next_run!
schedule
.
schedule_next_run!
end
end
end
end
end
# rubocop: enable CodeReuse/ActiveRecord
# rubocop: enable CodeReuse/ActiveRecord
...
...
app/workers/remove_expired_members_worker.rb
View file @
9f05e97a
...
@@ -6,11 +6,9 @@ class RemoveExpiredMembersWorker
...
@@ -6,11 +6,9 @@ class RemoveExpiredMembersWorker
def
perform
def
perform
Member
.
expired
.
find_each
do
|
member
|
Member
.
expired
.
find_each
do
|
member
|
begin
Members
::
DestroyService
.
new
.
execute
(
member
,
skip_authorization:
true
)
Members
::
DestroyService
.
new
.
execute
(
member
,
skip_authorization:
true
)
rescue
=>
ex
rescue
=>
ex
logger
.
error
(
"Expired Member ID=
#{
member
.
id
}
cannot be removed -
#{
ex
}
"
)
logger
.
error
(
"Expired Member ID=
#{
member
.
id
}
cannot be removed -
#{
ex
}
"
)
end
end
end
end
end
end
end
config/initializers/trusted_proxies.rb
View file @
9f05e97a
...
@@ -14,10 +14,8 @@ module Rack
...
@@ -14,10 +14,8 @@ module Rack
end
end
gitlab_trusted_proxies
=
Array
(
Gitlab
.
config
.
gitlab
.
trusted_proxies
).
map
do
|
proxy
|
gitlab_trusted_proxies
=
Array
(
Gitlab
.
config
.
gitlab
.
trusted_proxies
).
map
do
|
proxy
|
begin
IPAddr
.
new
(
proxy
)
IPAddr
.
new
(
proxy
)
rescue
IPAddr
::
InvalidAddressError
rescue
IPAddr
::
InvalidAddressError
end
end
.
compact
end
.
compact
Rails
.
application
.
config
.
action_dispatch
.
trusted_proxies
=
(
Rails
.
application
.
config
.
action_dispatch
.
trusted_proxies
=
(
...
...
db/migrate/20170530130129_project_foreign_keys_with_cascading_deletes.rb
View file @
9f05e97a
...
@@ -126,11 +126,10 @@ class ProjectForeignKeysWithCascadingDeletes < ActiveRecord::Migration[4.2]
...
@@ -126,11 +126,10 @@ class ProjectForeignKeysWithCascadingDeletes < ActiveRecord::Migration[4.2]
queues
.
each
do
|
queue
|
queues
.
each
do
|
queue
|
# Stealing is racy so it's possible a pop might be called on an
# Stealing is racy so it's possible a pop might be called on an
# already-empty queue.
# already-empty queue.
begin
remove_orphans
(
*
queue
.
pop
(
true
))
remove_orphans
(
*
queue
.
pop
(
true
))
stolen
=
true
stolen
=
true
rescue
ThreadError
rescue
ThreadError
end
end
end
break
unless
stolen
break
unless
stolen
...
...
lib/api/project_milestones.rb
View file @
9f05e97a
...
@@ -103,17 +103,15 @@ module API
...
@@ -103,17 +103,15 @@ module API
detail
'This feature was introduced in GitLab 11.9'
detail
'This feature was introduced in GitLab 11.9'
end
end
post
':id/milestones/:milestone_id/promote'
do
post
':id/milestones/:milestone_id/promote'
do
begin
authorize!
:admin_milestone
,
user_project
authorize!
:admin_milestone
,
user_project
authorize!
:admin_milestone
,
user_project
.
group
authorize!
:admin_milestone
,
user_project
.
group
milestone
=
user_project
.
milestones
.
find
(
params
[
:milestone_id
])
milestone
=
user_project
.
milestones
.
find
(
params
[
:milestone_id
])
Milestones
::
PromoteService
.
new
(
user_project
,
current_user
).
execute
(
milestone
)
Milestones
::
PromoteService
.
new
(
user_project
,
current_user
).
execute
(
milestone
)
status
(
200
)
status
(
200
)
rescue
Milestones
::
PromoteService
::
PromoteMilestoneError
=>
error
rescue
Milestones
::
PromoteService
::
PromoteMilestoneError
=>
error
render_api_error!
(
error
.
message
,
400
)
render_api_error!
(
error
.
message
,
400
)
end
end
end
end
end
end
end
...
...
lib/api/repositories.rb
View file @
9f05e97a
...
@@ -89,11 +89,9 @@ module API
...
@@ -89,11 +89,9 @@ module API
optional
:format
,
type:
String
,
desc:
'The archive format'
optional
:format
,
type:
String
,
desc:
'The archive format'
end
end
get
':id/repository/archive'
,
requirements:
{
format:
Gitlab
::
PathRegex
.
archive_formats_regex
}
do
get
':id/repository/archive'
,
requirements:
{
format:
Gitlab
::
PathRegex
.
archive_formats_regex
}
do
begin
send_git_archive
user_project
.
repository
,
ref:
params
[
:sha
],
format:
params
[
:format
],
append_sha:
true
send_git_archive
user_project
.
repository
,
ref:
params
[
:sha
],
format:
params
[
:format
],
append_sha:
true
rescue
rescue
not_found!
(
'File'
)
not_found!
(
'File'
)
end
end
end
desc
'Compare two branches, tags, or commits'
do
desc
'Compare two branches, tags, or commits'
do
...
@@ -118,12 +116,10 @@ module API
...
@@ -118,12 +116,10 @@ module API
optional
:sort
,
type:
String
,
values:
%w[asc desc]
,
default:
'asc'
,
desc:
'Sort by asc (ascending) or desc (descending)'
optional
:sort
,
type:
String
,
values:
%w[asc desc]
,
default:
'asc'
,
desc:
'Sort by asc (ascending) or desc (descending)'
end
end
get
':id/repository/contributors'
do
get
':id/repository/contributors'
do
begin
contributors
=
::
Kaminari
.
paginate_array
(
user_project
.
repository
.
contributors
(
order_by:
params
[
:order_by
],
sort:
params
[
:sort
]))
contributors
=
::
Kaminari
.
paginate_array
(
user_project
.
repository
.
contributors
(
order_by:
params
[
:order_by
],
sort:
params
[
:sort
]))
present
paginate
(
contributors
),
with:
Entities
::
Contributor
present
paginate
(
contributors
),
with:
Entities
::
Contributor
rescue
rescue
not_found!
not_found!
end
end
end
desc
'Get the common ancestor between commits'
do
desc
'Get the common ancestor between commits'
do
...
...
lib/gitlab/background_migration/archive_legacy_traces.rb
View file @
9f05e97a
...
@@ -11,11 +11,10 @@ module Gitlab
...
@@ -11,11 +11,10 @@ module Gitlab
# So we chose a way to use ::Ci::Build directly and we don't change the `archive!` method until 11.1
# So we chose a way to use ::Ci::Build directly and we don't change the `archive!` method until 11.1
::
Ci
::
Build
.
finished
.
without_archived_trace
::
Ci
::
Build
.
finished
.
without_archived_trace
.
where
(
id:
start_id
..
stop_id
).
find_each
do
|
build
|
.
where
(
id:
start_id
..
stop_id
).
find_each
do
|
build
|
begin
build
.
trace
.
archive!
build
.
trace
.
archive!
rescue
=>
e
rescue
=>
e
Rails
.
logger
.
error
"Failed to archive live trace. id:
#{
build
.
id
}
message:
#{
e
.
message
}
"
Rails
.
logger
.
error
"Failed to archive live trace. id:
#{
build
.
id
}
message:
#{
e
.
message
}
"
end
end
end
end
end
end
end
...
...
lib/gitlab/background_migration/normalize_ldap_extern_uids_range.rb
View file @
9f05e97a
...
@@ -302,14 +302,12 @@ module Gitlab
...
@@ -302,14 +302,12 @@ module Gitlab
ldap_identities
=
Identity
.
where
(
"provider like 'ldap%'"
).
where
(
id:
start_id
..
end_id
)
ldap_identities
=
Identity
.
where
(
"provider like 'ldap%'"
).
where
(
id:
start_id
..
end_id
)
ldap_identities
.
each
do
|
identity
|
ldap_identities
.
each
do
|
identity
|
begin
identity
.
extern_uid
=
Gitlab
::
Auth
::
LDAP
::
DN
.
new
(
identity
.
extern_uid
).
to_normalized_s
identity
.
extern_uid
=
Gitlab
::
Auth
::
LDAP
::
DN
.
new
(
identity
.
extern_uid
).
to_normalized_s
unless
identity
.
save
unless
identity
.
save
Rails
.
logger
.
info
"Unable to normalize
\"
#{
identity
.
extern_uid
}
\"
. Skipping."
Rails
.
logger
.
info
"Unable to normalize
\"
#{
identity
.
extern_uid
}
\"
. Skipping."
end
rescue
Gitlab
::
Auth
::
LDAP
::
DN
::
FormatError
=>
e
Rails
.
logger
.
info
"Unable to normalize
\"
#{
identity
.
extern_uid
}
\"
due to
\"
#{
e
.
message
}
\"
. Skipping."
end
end
rescue
Gitlab
::
Auth
::
LDAP
::
DN
::
FormatError
=>
e
Rails
.
logger
.
info
"Unable to normalize
\"
#{
identity
.
extern_uid
}
\"
due to
\"
#{
e
.
message
}
\"
. Skipping."
end
end
end
end
...
...
lib/gitlab/background_migration/populate_untracked_uploads.rb
View file @
9f05e97a
...
@@ -34,18 +34,16 @@ module Gitlab
...
@@ -34,18 +34,16 @@ module Gitlab
def
filter_error_files
(
files
)
def
filter_error_files
(
files
)
files
.
partition
do
|
file
|
files
.
partition
do
|
file
|
begin
file
.
to_h
file
.
to_h
true
true
rescue
=>
e
rescue
=>
e
msg
=
<<~
MSG
msg
=
<<~
MSG
Error parsing path "
#{
file
.
path
}
":
Error parsing path "
#{
file
.
path
}
":
#{
e
.
message
}
#{
e
.
message
}
#{
e
.
backtrace
.
join
(
"
\n
"
)
}
#{
e
.
backtrace
.
join
(
"
\n
"
)
}
MSG
MSG
Rails
.
logger
.
error
(
msg
)
Rails
.
logger
.
error
(
msg
)
false
false
end
end
end
end
end
...
...
lib/gitlab/bitbucket_import/importer.rb
View file @
9f05e97a
...
@@ -79,31 +79,29 @@ module Gitlab
...
@@ -79,31 +79,29 @@ module Gitlab
create_labels
create_labels
client
.
issues
(
repo
).
each
do
|
issue
|
client
.
issues
(
repo
).
each
do
|
issue
|
begin
description
=
''
description
=
''
description
+=
@formatter
.
author_line
(
issue
.
author
)
unless
find_user_id
(
issue
.
author
)
description
+=
@formatter
.
author_line
(
issue
.
author
)
unless
find_user_id
(
issue
.
author
)
description
+=
issue
.
description
description
+=
issue
.
description
label_name
=
issue
.
kind
label_name
=
issue
.
kind
milestone
=
issue
.
milestone
?
project
.
milestones
.
find_or_create_by
(
title:
issue
.
milestone
)
:
nil
milestone
=
issue
.
milestone
?
project
.
milestones
.
find_or_create_by
(
title:
issue
.
milestone
)
:
nil
gitlab_issue
=
project
.
issues
.
create!
(
gitlab_issue
=
project
.
issues
.
create!
(
iid:
issue
.
iid
,
iid:
issue
.
iid
,
title:
issue
.
title
,
title:
issue
.
title
,
description:
description
,
description:
description
,
state:
issue
.
state
,
state:
issue
.
state
,
author_id:
gitlab_user_id
(
project
,
issue
.
author
),
author_id:
gitlab_user_id
(
project
,
issue
.
author
),
milestone:
milestone
,
milestone:
milestone
,
created_at:
issue
.
created_at
,
created_at:
issue
.
created_at
,
updated_at:
issue
.
updated_at
updated_at:
issue
.
updated_at
)
)
gitlab_issue
.
labels
<<
@labels
[
label_name
]
gitlab_issue
.
labels
<<
@labels
[
label_name
]
import_issue_comments
(
issue
,
gitlab_issue
)
if
gitlab_issue
.
persisted?
import_issue_comments
(
issue
,
gitlab_issue
)
if
gitlab_issue
.
persisted?
rescue
StandardError
=>
e
rescue
StandardError
=>
e
errors
<<
{
type: :issue
,
iid:
issue
.
iid
,
errors:
e
.
message
}
errors
<<
{
type: :issue
,
iid:
issue
.
iid
,
errors:
e
.
message
}
end
end
end
end
end
# rubocop: enable CodeReuse/ActiveRecord
# rubocop: enable CodeReuse/ActiveRecord
...
@@ -150,37 +148,35 @@ module Gitlab
...
@@ -150,37 +148,35 @@ module Gitlab
pull_requests
=
client
.
pull_requests
(
repo
)
pull_requests
=
client
.
pull_requests
(
repo
)
pull_requests
.
each
do
|
pull_request
|
pull_requests
.
each
do
|
pull_request
|
begin
description
=
''
description
=
''
description
+=
@formatter
.
author_line
(
pull_request
.
author
)
unless
find_user_id
(
pull_request
.
author
)
description
+=
@formatter
.
author_line
(
pull_request
.
author
)
unless
find_user_id
(
pull_request
.
author
)
description
+=
pull_request
.
description
description
+=
pull_request
.
description
source_branch_sha
=
pull_request
.
source_branch_sha
source_branch_sha
=
pull_request
.
source_branch_sha
target_branch_sha
=
pull_request
.
target_branch_sha
target_branch_sha
=
pull_request
.
target_branch_sha
source_branch_sha
=
project
.
repository
.
commit
(
source_branch_sha
)
&
.
sha
||
source_branch_sha
source_branch_sha
=
project
.
repository
.
commit
(
source_branch_sha
)
&
.
sha
||
source_branch_sha
target_branch_sha
=
project
.
repository
.
commit
(
target_branch_sha
)
&
.
sha
||
target_branch_sha
target_branch_sha
=
project
.
repository
.
commit
(
target_branch_sha
)
&
.
sha
||
target_branch_sha
merge_request
=
project
.
merge_requests
.
create!
(
merge_request
=
project
.
merge_requests
.
create!
(
iid:
pull_request
.
iid
,
iid:
pull_request
.
iid
,
title:
pull_request
.
title
,
title:
pull_request
.
title
,
description:
description
,
description:
description
,
source_project:
project
,
source_project:
project
,
source_branch:
pull_request
.
source_branch_name
,
source_branch:
pull_request
.
source_branch_name
,
source_branch_sha:
source_branch_sha
,
source_branch_sha:
source_branch_sha
,
target_project:
project
,
target_project:
project
,
target_branch:
pull_request
.
target_branch_name
,
target_branch:
pull_request
.
target_branch_name
,
target_branch_sha:
target_branch_sha
,
target_branch_sha:
target_branch_sha
,
state:
pull_request
.
state
,
state:
pull_request
.
state
,
author_id:
gitlab_user_id
(
project
,
pull_request
.
author
),
author_id:
gitlab_user_id
(
project
,
pull_request
.
author
),
assignee_id:
nil
,
assignee_id:
nil
,
created_at:
pull_request
.
created_at
,
created_at:
pull_request
.
created_at
,
updated_at:
pull_request
.
updated_at
updated_at:
pull_request
.
updated_at
)
)
import_pull_request_comments
(
pull_request
,
merge_request
)
if
merge_request
.
persisted?
import_pull_request_comments
(
pull_request
,
merge_request
)
if
merge_request
.
persisted?
rescue
StandardError
=>
e
rescue
StandardError
=>
e
errors
<<
{
type: :pull_request
,
iid:
pull_request
.
iid
,
errors:
e
.
message
,
trace:
e
.
backtrace
.
join
(
"
\n
"
),
raw_response:
pull_request
.
raw
}
errors
<<
{
type: :pull_request
,
iid:
pull_request
.
iid
,
errors:
e
.
message
,
trace:
e
.
backtrace
.
join
(
"
\n
"
),
raw_response:
pull_request
.
raw
}
end
end
end
end
end
...
@@ -211,23 +207,21 @@ module Gitlab
...
@@ -211,23 +207,21 @@ module Gitlab
end
end
inline_comments
.
each
do
|
comment
|
inline_comments
.
each
do
|
comment
|
begin
attributes
=
pull_request_comment_attributes
(
comment
)
attributes
=
pull_request_comment_attributes
(
comment
)
attributes
[
:discussion_id
]
=
discussion_map
[
comment
.
parent_id
]
if
comment
.
has_parent?
attributes
[
:discussion_id
]
=
discussion_map
[
comment
.
parent_id
]
if
comment
.
has_parent?
attributes
.
merge!
(
attributes
.
merge!
(
position:
position_map
[
comment
.
iid
],
position:
position_map
[
comment
.
iid
],
type:
'DiffNote'
)
type:
'DiffNote'
)
note
=
merge_request
.
notes
.
create!
(
attributes
)
note
=
merge_request
.
notes
.
create!
(
attributes
)
# We can't store a discussion ID until a note is created, so if
# We can't store a discussion ID until a note is created, so if
# replies are created before the parent the discussion ID won't be
# replies are created before the parent the discussion ID won't be
# linked properly.
# linked properly.
discussion_map
[
comment
.
iid
]
=
note
.
discussion_id
discussion_map
[
comment
.
iid
]
=
note
.
discussion_id
rescue
StandardError
=>
e
rescue
StandardError
=>
e
errors
<<
{
type: :pull_request
,
iid:
comment
.
iid
,
errors:
e
.
message
}
errors
<<
{
type: :pull_request
,
iid:
comment
.
iid
,
errors:
e
.
message
}
end
end
end
end
end
...
@@ -245,11 +239,9 @@ module Gitlab
...
@@ -245,11 +239,9 @@ module Gitlab
def
import_standalone_pr_comments
(
pr_comments
,
merge_request
)
def
import_standalone_pr_comments
(
pr_comments
,
merge_request
)
pr_comments
.
each
do
|
comment
|
pr_comments
.
each
do
|
comment
|
begin
merge_request
.
notes
.
create!
(
pull_request_comment_attributes
(
comment
))
merge_request
.
notes
.
create!
(
pull_request_comment_attributes
(
comment
))
rescue
StandardError
=>
e
rescue
StandardError
=>
e
errors
<<
{
type: :pull_request
,
iid:
comment
.
iid
,
errors:
e
.
message
}
errors
<<
{
type: :pull_request
,
iid:
comment
.
iid
,
errors:
e
.
message
}
end
end
end
end
end
...
...
lib/gitlab/bitbucket_server_import/importer.rb
View file @
9f05e97a
...
@@ -162,27 +162,23 @@ module Gitlab
...
@@ -162,27 +162,23 @@ module Gitlab
restore_branches
(
batch
)
if
recover_missing_commits
restore_branches
(
batch
)
if
recover_missing_commits
batch
.
each
do
|
pull_request
|
batch
.
each
do
|
pull_request
|
begin
import_bitbucket_pull_request
(
pull_request
)
import_bitbucket_pull_request
(
pull_request
)
rescue
StandardError
=>
e
rescue
StandardError
=>
e
backtrace
=
Gitlab
::
Profiler
.
clean_backtrace
(
e
.
backtrace
)
backtrace
=
Gitlab
::
Profiler
.
clean_backtrace
(
e
.
backtrace
)
log_error
(
stage:
'import_pull_requests'
,
iid:
pull_request
.
iid
,
error:
e
.
message
,
backtrace:
backtrace
)
log_error
(
stage:
'import_pull_requests'
,
iid:
pull_request
.
iid
,
error:
e
.
message
,
backtrace:
backtrace
)
errors
<<
{
type: :pull_request
,
iid:
pull_request
.
iid
,
errors:
e
.
message
,
backtrace:
backtrace
.
join
(
"
\n
"
),
raw_response:
pull_request
.
raw
}
errors
<<
{
type: :pull_request
,
iid:
pull_request
.
iid
,
errors:
e
.
message
,
backtrace:
backtrace
.
join
(
"
\n
"
),
raw_response:
pull_request
.
raw
}
end
end
end
end
end
end
end
def
delete_temp_branches
def
delete_temp_branches
@temp_branches
.
each
do
|
branch
|
@temp_branches
.
each
do
|
branch
|
begin
client
.
delete_branch
(
project_key
,
repository_slug
,
branch
.
name
,
branch
.
sha
)
client
.
delete_branch
(
project_key
,
repository_slug
,
branch
.
name
,
branch
.
sha
)
project
.
repository
.
delete_branch
(
branch
.
name
)
project
.
repository
.
delete_branch
(
branch
.
name
)
rescue
BitbucketServer
::
Connection
::
ConnectionError
=>
e
rescue
BitbucketServer
::
Connection
::
ConnectionError
=>
e
log_error
(
stage:
'delete_temp_branches'
,
branch:
branch
.
name
,
error:
e
.
message
)
log_error
(
stage:
'delete_temp_branches'
,
branch:
branch
.
name
,
error:
e
.
message
)
@errors
<<
{
type: :delete_temp_branches
,
branch_name:
branch
.
name
,
errors:
e
.
message
}
@errors
<<
{
type: :delete_temp_branches
,
branch_name:
branch
.
name
,
errors:
e
.
message
}
end
end
end
end
end
...
@@ -323,16 +319,14 @@ module Gitlab
...
@@ -323,16 +319,14 @@ module Gitlab
def
import_standalone_pr_comments
(
pr_comments
,
merge_request
)
def
import_standalone_pr_comments
(
pr_comments
,
merge_request
)
pr_comments
.
each
do
|
comment
|
pr_comments
.
each
do
|
comment
|
begin
merge_request
.
notes
.
create!
(
pull_request_comment_attributes
(
comment
))
merge_request
.
notes
.
create!
(
pull_request_comment_attributes
(
comment
))
comment
.
comments
.
each
do
|
replies
|
comment
.
comments
.
each
do
|
replies
|
merge_request
.
notes
.
create!
(
pull_request_comment_attributes
(
replies
))
merge_request
.
notes
.
create!
(
pull_request_comment_attributes
(
replies
))
end
rescue
StandardError
=>
e
log_error
(
stage:
'import_standalone_pr_comments'
,
merge_request_id:
merge_request
.
id
,
comment_id:
comment
.
id
,
error:
e
.
message
)
errors
<<
{
type: :pull_request
,
comment_id:
comment
.
id
,
errors:
e
.
message
}
end
end
rescue
StandardError
=>
e
log_error
(
stage:
'import_standalone_pr_comments'
,
merge_request_id:
merge_request
.
id
,
comment_id:
comment
.
id
,
error:
e
.
message
)
errors
<<
{
type: :pull_request
,
comment_id:
comment
.
id
,
errors:
e
.
message
}
end
end
end
end
...
...
lib/gitlab/ci/build/artifacts/metadata.rb
View file @
9f05e97a
...
@@ -98,7 +98,7 @@ module Gitlab
...
@@ -98,7 +98,7 @@ module Gitlab
def
read_uint32
(
gz
)
def
read_uint32
(
gz
)
binary
=
gz
.
read
(
4
)
binary
=
gz
.
read
(
4
)
binary
.
unpack
(
'L>'
)[
0
]
if
binary
binary
.
unpack
1
(
'L>'
)
if
binary
end
end
def
read_string
(
gz
)
def
read_string
(
gz
)
...
...
lib/gitlab/database/multi_threaded_migration.rb
View file @
9f05e97a
...
@@ -35,12 +35,10 @@ module Gitlab
...
@@ -35,12 +35,10 @@ module Gitlab
threads
=
Array
.
new
(
thread_count
)
do
threads
=
Array
.
new
(
thread_count
)
do
Thread
.
new
do
Thread
.
new
do
pool
.
with_connection
do
|
connection
|
pool
.
with_connection
do
|
connection
|
begin
Thread
.
current
[
MULTI_THREAD_AR_CONNECTION
]
=
connection
Thread
.
current
[
MULTI_THREAD_AR_CONNECTION
]
=
connection
yield
yield
ensure
ensure
Thread
.
current
[
MULTI_THREAD_AR_CONNECTION
]
=
nil
Thread
.
current
[
MULTI_THREAD_AR_CONNECTION
]
=
nil
end
end
end
end
end
end
end
...
...
lib/gitlab/database/sha_attribute.rb
View file @
9f05e97a
...
@@ -22,7 +22,7 @@ module Gitlab
...
@@ -22,7 +22,7 @@ module Gitlab
# Casts binary data to a SHA1 in hexadecimal.
# Casts binary data to a SHA1 in hexadecimal.
def
deserialize
(
value
)
def
deserialize
(
value
)
value
=
super
(
value
)
value
=
super
(
value
)
value
?
value
.
unpack
(
PACK_FORMAT
)[
0
]
:
nil
value
?
value
.
unpack
1
(
PACK_FORMAT
)
:
nil
end
end
# Casts a SHA1 in hexadecimal to the proper binary format.
# Casts a SHA1 in hexadecimal to the proper binary format.
...
...
lib/gitlab/gitaly_client.rb
View file @
9f05e97a
...
@@ -75,13 +75,11 @@ module Gitlab
...
@@ -75,13 +75,11 @@ module Gitlab
@certs
=
stub_cert_paths
.
flat_map
do
|
cert_file
|
@certs
=
stub_cert_paths
.
flat_map
do
|
cert_file
|
File
.
read
(
cert_file
).
scan
(
PEM_REGEX
).
map
do
|
cert
|
File
.
read
(
cert_file
).
scan
(
PEM_REGEX
).
map
do
|
cert
|
begin
OpenSSL
::
X509
::
Certificate
.
new
(
cert
).
to_pem
OpenSSL
::
X509
::
Certificate
.
new
(
cert
).
to_pem
rescue
OpenSSL
::
OpenSSLError
=>
e
rescue
OpenSSL
::
OpenSSLError
=>
e
Rails
.
logger
.
error
"Could not load certificate
#{
cert_file
}
#{
e
}
"
Rails
.
logger
.
error
"Could not load certificate
#{
cert_file
}
#{
e
}
"
Gitlab
::
Sentry
.
track_exception
(
e
,
extra:
{
cert_file:
cert_file
})
Gitlab
::
Sentry
.
track_exception
(
e
,
extra:
{
cert_file:
cert_file
})
nil
nil
end
end
.
compact
end
.
compact
end
.
uniq
.
join
(
"
\n
"
)
end
.
uniq
.
join
(
"
\n
"
)
end
end
...
...
lib/gitlab/gitaly_client/blobs_stitcher.rb
View file @
9f05e97a
...
@@ -13,17 +13,15 @@ module Gitlab
...
@@ -13,17 +13,15 @@ module Gitlab
current_blob_data
=
nil
current_blob_data
=
nil
@rpc_response
.
each
do
|
msg
|
@rpc_response
.
each
do
|
msg
|
begin
if
msg
.
oid
.
blank?
&&
msg
.
data
.
blank?
if
msg
.
oid
.
blank?
&&
msg
.
data
.
blank?
next
next
elsif
msg
.
oid
.
present?
elsif
msg
.
oid
.
present?
yield
new_blob
(
current_blob_data
)
if
current_blob_data
yield
new_blob
(
current_blob_data
)
if
current_blob_data
current_blob_data
=
msg
.
to_h
.
slice
(
:oid
,
:path
,
:size
,
:revision
,
:mode
)
current_blob_data
=
msg
.
to_h
.
slice
(
:oid
,
:path
,
:size
,
:revision
,
:mode
)
current_blob_data
[
:data
]
=
msg
.
data
.
dup
current_blob_data
[
:data
]
=
msg
.
data
.
dup
else
else
current_blob_data
[
:data
]
<<
msg
.
data
current_blob_data
[
:data
]
<<
msg
.
data
end
end
end
end
end
...
...
lib/gitlab/legacy_github_import/importer.rb
View file @
9f05e97a
...
@@ -89,12 +89,10 @@ module Gitlab
...
@@ -89,12 +89,10 @@ module Gitlab
def
import_labels
def
import_labels
fetch_resources
(
:labels
,
repo
,
per_page:
100
)
do
|
labels
|
fetch_resources
(
:labels
,
repo
,
per_page:
100
)
do
|
labels
|
labels
.
each
do
|
raw
|
labels
.
each
do
|
raw
|
begin
gh_label
=
LabelFormatter
.
new
(
project
,
raw
)
gh_label
=
LabelFormatter
.
new
(
project
,
raw
)
gh_label
.
create!
gh_label
.
create!
rescue
=>
e
rescue
=>
e
errors
<<
{
type: :label
,
url:
Gitlab
::
UrlSanitizer
.
sanitize
(
gh_label
.
url
),
errors:
e
.
message
}
errors
<<
{
type: :label
,
url:
Gitlab
::
UrlSanitizer
.
sanitize
(
gh_label
.
url
),
errors:
e
.
message
}
end
end
end
end
end
...
@@ -104,12 +102,10 @@ module Gitlab
...
@@ -104,12 +102,10 @@ module Gitlab
def
import_milestones
def
import_milestones
fetch_resources
(
:milestones
,
repo
,
state: :all
,
per_page:
100
)
do
|
milestones
|
fetch_resources
(
:milestones
,
repo
,
state: :all
,
per_page:
100
)
do
|
milestones
|
milestones
.
each
do
|
raw
|
milestones
.
each
do
|
raw
|
begin
gh_milestone
=
MilestoneFormatter
.
new
(
project
,
raw
)
gh_milestone
=
MilestoneFormatter
.
new
(
project
,
raw
)
gh_milestone
.
create!
gh_milestone
.
create!
rescue
=>
e
rescue
=>
e
errors
<<
{
type: :milestone
,
url:
Gitlab
::
UrlSanitizer
.
sanitize
(
gh_milestone
.
url
),
errors:
e
.
message
}
errors
<<
{
type: :milestone
,
url:
Gitlab
::
UrlSanitizer
.
sanitize
(
gh_milestone
.
url
),
errors:
e
.
message
}
end
end
end
end
end
end
end
...
@@ -223,24 +219,22 @@ module Gitlab
...
@@ -223,24 +219,22 @@ module Gitlab
def
create_comments
(
comments
)
def
create_comments
(
comments
)
ActiveRecord
::
Base
.
no_touching
do
ActiveRecord
::
Base
.
no_touching
do
comments
.
each
do
|
raw
|
comments
.
each
do
|
raw
|
begin
comment
=
CommentFormatter
.
new
(
project
,
raw
,
client
)
comment
=
CommentFormatter
.
new
(
project
,
raw
,
client
)
# GH does not return info about comment's parent, so we guess it by checking its URL!
# GH does not return info about comment's parent, so we guess it by checking its URL!
*
_
,
parent
,
iid
=
URI
(
raw
.
html_url
).
path
.
split
(
'/'
)
*
_
,
parent
,
iid
=
URI
(
raw
.
html_url
).
path
.
split
(
'/'
)
issuable
=
if
parent
==
'issues'
issuable
=
if
parent
==
'issues'
Issue
.
find_by
(
project_id:
project
.
id
,
iid:
iid
)
Issue
.
find_by
(
project_id:
project
.
id
,
iid:
iid
)
else
else
MergeRequest
.
find_by
(
target_project_id:
project
.
id
,
iid:
iid
)
MergeRequest
.
find_by
(
target_project_id:
project
.
id
,
iid:
iid
)
end
end
next
unless
issuable
next
unless
issuable
issuable
.
notes
.
create!
(
comment
.
attributes
)
issuable
.
notes
.
create!
(
comment
.
attributes
)
rescue
=>
e
rescue
=>
e
errors
<<
{
type: :comment
,
url:
Gitlab
::
UrlSanitizer
.
sanitize
(
raw
.
url
),
errors:
e
.
message
}
errors
<<
{
type: :comment
,
url:
Gitlab
::
UrlSanitizer
.
sanitize
(
raw
.
url
),
errors:
e
.
message
}
end
end
end
end
end
end
end
...
@@ -281,12 +275,10 @@ module Gitlab
...
@@ -281,12 +275,10 @@ module Gitlab
def
import_releases
def
import_releases
fetch_resources
(
:releases
,
repo
,
per_page:
100
)
do
|
releases
|
fetch_resources
(
:releases
,
repo
,
per_page:
100
)
do
|
releases
|
releases
.
each
do
|
raw
|
releases
.
each
do
|
raw
|
begin
gh_release
=
ReleaseFormatter
.
new
(
project
,
raw
)
gh_release
=
ReleaseFormatter
.
new
(
project
,
raw
)
gh_release
.
create!
if
gh_release
.
valid?
gh_release
.
create!
if
gh_release
.
valid?
rescue
=>
e
rescue
=>
e
errors
<<
{
type: :release
,
url:
Gitlab
::
UrlSanitizer
.
sanitize
(
gh_release
.
url
),
errors:
e
.
message
}
errors
<<
{
type: :release
,
url:
Gitlab
::
UrlSanitizer
.
sanitize
(
gh_release
.
url
),
errors:
e
.
message
}
end
end
end
end
end
end
end
...
...
lib/gitlab/metrics/influx_db.rb
View file @
9f05e97a
...
@@ -52,10 +52,8 @@ module Gitlab
...
@@ -52,10 +52,8 @@ module Gitlab
pool
&
.
with
do
|
connection
|
pool
&
.
with
do
|
connection
|
prepared
.
each_slice
(
settings
[
:packet_size
])
do
|
slice
|
prepared
.
each_slice
(
settings
[
:packet_size
])
do
|
slice
|
begin
connection
.
write_points
(
slice
)
connection
.
write_points
(
slice
)
rescue
StandardError
rescue
StandardError
end
end
end
end
end
rescue
Errno
::
EADDRNOTAVAIL
,
SocketError
=>
ex
rescue
Errno
::
EADDRNOTAVAIL
,
SocketError
=>
ex
...
...
lib/tasks/gitlab/artifacts/migrate.rake
View file @
9f05e97a
...
@@ -11,14 +11,13 @@ namespace :gitlab do
...
@@ -11,14 +11,13 @@ namespace :gitlab do
Ci
::
Build
.
joins
(
:project
)
Ci
::
Build
.
joins
(
:project
)
.
with_artifacts_stored_locally
.
with_artifacts_stored_locally
.
find_each
(
batch_size:
10
)
do
|
build
|
.
find_each
(
batch_size:
10
)
do
|
build
|
begin
build
.
artifacts_file
.
migrate!
(
ObjectStorage
::
Store
::
REMOTE
)
build
.
artifacts_metadata
.
migrate!
(
ObjectStorage
::
Store
::
REMOTE
)
logger
.
info
(
"Transferred artifact ID
#{
build
.
id
}
with size
#{
build
.
artifacts_size
}
to object storage"
)
build
.
artifacts_file
.
migrate!
(
ObjectStorage
::
Store
::
REMOTE
)
rescue
=>
e
build
.
artifacts_metadata
.
migrate!
(
ObjectStorage
::
Store
::
REMOTE
)
logger
.
error
(
"Failed to transfer artifacts of
#{
build
.
id
}
with error:
#{
e
.
message
}
"
)
end
logger
.
info
(
"Transferred artifact ID
#{
build
.
id
}
with size
#{
build
.
artifacts_size
}
to object storage"
)
rescue
=>
e
logger
.
error
(
"Failed to transfer artifacts of
#{
build
.
id
}
with error:
#{
e
.
message
}
"
)
end
end
end
end
end
end
...
...
lib/tasks/gitlab/lfs/migrate.rake
View file @
9f05e97a
...
@@ -9,13 +9,12 @@ namespace :gitlab do
...
@@ -9,13 +9,12 @@ namespace :gitlab do
LfsObject
.
with_files_stored_locally
LfsObject
.
with_files_stored_locally
.
find_each
(
batch_size:
10
)
do
|
lfs_object
|
.
find_each
(
batch_size:
10
)
do
|
lfs_object
|
begin
lfs_object
.
file
.
migrate!
(
LfsObjectUploader
::
Store
::
REMOTE
)
logger
.
info
(
"Transferred LFS object
#{
lfs_object
.
oid
}
of size
#{
lfs_object
.
size
.
to_i
.
bytes
}
to object storage"
)
lfs_object
.
file
.
migrate!
(
LfsObjectUploader
::
Store
::
REMOTE
)
rescue
=>
e
logger
.
error
(
"Failed to transfer LFS object
#{
lfs_object
.
oid
}
with error:
#{
e
.
message
}
"
)
logger
.
info
(
"Transferred LFS object
#{
lfs_object
.
oid
}
of size
#{
lfs_object
.
size
.
to_i
.
bytes
}
to object storage"
)
end
rescue
=>
e
logger
.
error
(
"Failed to transfer LFS object
#{
lfs_object
.
oid
}
with error:
#{
e
.
message
}
"
)
end
end
end
end
end
end
...
...
lib/tasks/gitlab/traces.rake
View file @
9f05e97a
...
@@ -26,13 +26,12 @@ namespace :gitlab do
...
@@ -26,13 +26,12 @@ namespace :gitlab do
Ci
::
Build
.
joins
(
:project
)
Ci
::
Build
.
joins
(
:project
)
.
with_archived_trace_stored_locally
.
with_archived_trace_stored_locally
.
find_each
(
batch_size:
10
)
do
|
build
|
.
find_each
(
batch_size:
10
)
do
|
build
|
begin
build
.
job_artifacts_trace
.
file
.
migrate!
(
ObjectStorage
::
Store
::
REMOTE
)
logger
.
info
(
"Transferred job trace of
#{
build
.
id
}
to object storage"
)
build
.
job_artifacts_trace
.
file
.
migrate!
(
ObjectStorage
::
Store
::
REMOTE
)
rescue
=>
e
logger
.
error
(
"Failed to transfer artifacts of
#{
build
.
id
}
with error:
#{
e
.
message
}
"
)
logger
.
info
(
"Transferred job trace of
#{
build
.
id
}
to object storage"
)
end
rescue
=>
e
logger
.
error
(
"Failed to transfer artifacts of
#{
build
.
id
}
with error:
#{
e
.
message
}
"
)
end
end
end
end
end
end
...
...
lib/tasks/lint.rake
View file @
9f05e97a
...
@@ -19,11 +19,9 @@ unless Rails.env.production?
...
@@ -19,11 +19,9 @@ unless Rails.env.production?
desc
"GitLab | lint | Lint HAML files"
desc
"GitLab | lint | Lint HAML files"
task
:haml
do
task
:haml
do
begin
Rake
::
Task
[
'haml_lint'
].
invoke
Rake
::
Task
[
'haml_lint'
].
invoke
rescue
RuntimeError
# The haml_lint tasks raise a RuntimeError
rescue
RuntimeError
# The haml_lint tasks raise a RuntimeError
exit
(
1
)
exit
(
1
)
end
end
end
desc
"GitLab | lint | Run several lint checks"
desc
"GitLab | lint | Run several lint checks"
...
...
lib/tasks/migrate/migrate_iids.rake
View file @
9f05e97a
...
@@ -2,49 +2,43 @@ desc "GitLab | Build internal ids for issues and merge requests"
...
@@ -2,49 +2,43 @@ desc "GitLab | Build internal ids for issues and merge requests"
task
migrate_iids: :environment
do
task
migrate_iids: :environment
do
puts
'Issues'
.
color
(
:yellow
)
puts
'Issues'
.
color
(
:yellow
)
Issue
.
where
(
iid:
nil
).
find_each
(
batch_size:
100
)
do
|
issue
|
Issue
.
where
(
iid:
nil
).
find_each
(
batch_size:
100
)
do
|
issue
|
begin
issue
.
set_iid
issue
.
set_iid
if
issue
.
update_attribute
(
:iid
,
issue
.
iid
)
if
issue
.
update_attribute
(
:iid
,
issue
.
iid
)
print
'.'
print
'.'
else
else
print
'F'
end
rescue
print
'F'
print
'F'
end
end
rescue
print
'F'
end
end
puts
'done'
puts
'done'
puts
'Merge Requests'
.
color
(
:yellow
)
puts
'Merge Requests'
.
color
(
:yellow
)
MergeRequest
.
where
(
iid:
nil
).
find_each
(
batch_size:
100
)
do
|
mr
|
MergeRequest
.
where
(
iid:
nil
).
find_each
(
batch_size:
100
)
do
|
mr
|
begin
mr
.
set_iid
mr
.
set_iid
if
mr
.
update_attribute
(
:iid
,
mr
.
iid
)
if
mr
.
update_attribute
(
:iid
,
mr
.
iid
)
print
'.'
print
'.'
else
else
print
'F'
end
rescue
print
'F'
print
'F'
end
end
rescue
print
'F'
end
end
puts
'done'
puts
'done'
puts
'Milestones'
.
color
(
:yellow
)
puts
'Milestones'
.
color
(
:yellow
)
Milestone
.
where
(
iid:
nil
).
find_each
(
batch_size:
100
)
do
|
m
|
Milestone
.
where
(
iid:
nil
).
find_each
(
batch_size:
100
)
do
|
m
|
begin
m
.
set_iid
m
.
set_iid
if
m
.
update_attribute
(
:iid
,
m
.
iid
)
if
m
.
update_attribute
(
:iid
,
m
.
iid
)
print
'.'
print
'.'
else
else
print
'F'
end
rescue
print
'F'
print
'F'
end
end
rescue
print
'F'
end
end
puts
'done'
puts
'done'
...
...
qa/qa/page/project/web_ide/edit.rb
View file @
9f05e97a
...
@@ -43,11 +43,9 @@ module QA
...
@@ -43,11 +43,9 @@ module QA
def
create_new_file_from_template
(
file_name
,
template
)
def
create_new_file_from_template
(
file_name
,
template
)
click_element
:new_file
click_element
:new_file
within_element
(
:template_list
)
do
within_element
(
:template_list
)
do
begin
click_on
file_name
click_on
file_name
rescue
Capybara
::
ElementNotFound
rescue
Capybara
::
ElementNotFound
raise
ElementNotFound
,
%Q(Couldn't find file template named "
#{
file_name
}
". Please confirm that it is a valid option.)
raise
ElementNotFound
,
%Q(Couldn't find file template named "
#{
file_name
}
". Please confirm that it is a valid option.)
end
end
end
wait
(
reload:
false
)
do
wait
(
reload:
false
)
do
...
...
scripts/gitaly_test.rb
View file @
9f05e97a
...
@@ -79,15 +79,13 @@ module GitalyTest
...
@@ -79,15 +79,13 @@ module GitalyTest
socket
=
read_socket_path
socket
=
read_socket_path
Integer
(
timeout
/
delay
).
times
do
Integer
(
timeout
/
delay
).
times
do
begin
UNIXSocket
.
new
(
socket
)
UNIXSocket
.
new
(
socket
)
puts
' OK'
puts
' OK'
return
return
rescue
Errno
::
ENOENT
,
Errno
::
ECONNREFUSED
rescue
Errno
::
ENOENT
,
Errno
::
ECONNREFUSED
print
'.'
print
'.'
sleep
delay
sleep
delay
end
end
end
puts
' FAILED'
puts
' FAILED'
...
...
scripts/merge-simplecov
View file @
9f05e97a
...
@@ -12,11 +12,9 @@ module SimpleCov
...
@@ -12,11 +12,9 @@ module SimpleCov
def
resultset_hashes
def
resultset_hashes
resultset_files
.
map
do
|
path
|
resultset_files
.
map
do
|
path
|
begin
JSON
.
parse
(
File
.
read
(
path
))
JSON
.
parse
(
File
.
read
(
path
))
rescue
rescue
{}
{}
end
end
end
end
end
...
...
spec/lib/gitlab/background_migration/deserialize_merge_request_diffs_and_commits_spec.rb
View file @
9f05e97a
...
@@ -172,10 +172,8 @@ describe Gitlab::BackgroundMigration::DeserializeMergeRequestDiffsAndCommits, :m
...
@@ -172,10 +172,8 @@ describe Gitlab::BackgroundMigration::DeserializeMergeRequestDiffsAndCommits, :m
let
(
:exception
)
{
ActiveRecord
::
RecordNotFound
}
let
(
:exception
)
{
ActiveRecord
::
RecordNotFound
}
let
(
:perform_ignoring_exceptions
)
do
let
(
:perform_ignoring_exceptions
)
do
begin
subject
.
perform
(
start_id
,
stop_id
)
subject
.
perform
(
start_id
,
stop_id
)
rescue
described_class
::
Error
rescue
described_class
::
Error
end
end
end
before
do
before
do
...
...
spec/lib/gitlab/git/repository_cleaner_spec.rb
View file @
9f05e97a
...
@@ -37,14 +37,12 @@ describe Gitlab::Git::RepositoryCleaner do
...
@@ -37,14 +37,12 @@ describe Gitlab::Git::RepositoryCleaner do
let
(
:object_map
)
{
Gitlab
::
HttpIO
.
new
(
url
,
object_map_data
.
size
)
}
let
(
:object_map
)
{
Gitlab
::
HttpIO
.
new
(
url
,
object_map_data
.
size
)
}
around
do
|
example
|
around
do
|
example
|
begin
tempfile
.
write
(
object_map_data
)
tempfile
.
write
(
object_map_data
)
tempfile
.
close
tempfile
.
close
example
.
run
example
.
run
ensure
ensure
tempfile
.
unlink
tempfile
.
unlink
end
end
end
it
'removes internal references'
do
it
'removes internal references'
do
...
...
spec/rack_servers/puma_spec.rb
View file @
9f05e97a
...
@@ -44,11 +44,9 @@ describe 'Puma' do
...
@@ -44,11 +44,9 @@ describe 'Puma' do
end
end
after
(
:all
)
do
after
(
:all
)
do
begin
WebMock
.
disable_net_connect!
(
allow_localhost:
true
)
WebMock
.
disable_net_connect!
(
allow_localhost:
true
)
Process
.
kill
(
'TERM'
,
@puma_master_pid
)
Process
.
kill
(
'TERM'
,
@puma_master_pid
)
rescue
Errno
::
ESRCH
rescue
Errno
::
ESRCH
end
end
end
def
wait_puma_boot!
(
master_pid
,
ready_file
)
def
wait_puma_boot!
(
master_pid
,
ready_file
)
...
...
spec/services/projects/destroy_service_spec.rb
View file @
9f05e97a
...
@@ -128,10 +128,8 @@ describe Projects::DestroyService do
...
@@ -128,10 +128,8 @@ describe Projects::DestroyService do
it
'keeps project team intact upon an error'
do
it
'keeps project team intact upon an error'
do
perform_enqueued_jobs
do
perform_enqueued_jobs
do
begin
destroy_project
(
project
,
user
,
{})
destroy_project
(
project
,
user
,
{})
rescue
::
Redis
::
CannotConnectError
rescue
::
Redis
::
CannotConnectError
end
end
end
expect
(
project
.
team
.
members
.
count
).
to
eq
2
expect
(
project
.
team
.
members
.
count
).
to
eq
2
...
...
spec/support/helpers/graphql_helpers.rb
View file @
9f05e97a
...
@@ -18,12 +18,10 @@ module GraphqlHelpers
...
@@ -18,12 +18,10 @@ module GraphqlHelpers
# Runs a block inside a BatchLoader::Executor wrapper
# Runs a block inside a BatchLoader::Executor wrapper
def
batch
(
max_queries:
nil
,
&
blk
)
def
batch
(
max_queries:
nil
,
&
blk
)
wrapper
=
proc
do
wrapper
=
proc
do
begin
BatchLoader
::
Executor
.
ensure_current
BatchLoader
::
Executor
.
ensure_current
yield
yield
ensure
ensure
BatchLoader
::
Executor
.
clear_current
BatchLoader
::
Executor
.
clear_current
end
end
end
if
max_queries
if
max_queries
...
...
spec/support/helpers/stub_object_storage.rb
View file @
9f05e97a
...
@@ -23,15 +23,13 @@ module StubObjectStorage
...
@@ -23,15 +23,13 @@ module StubObjectStorage
Fog
.
mock!
Fog
.
mock!
::
Fog
::
Storage
.
new
(
connection_params
).
tap
do
|
connection
|
::
Fog
::
Storage
.
new
(
connection_params
).
tap
do
|
connection
|
begin
connection
.
directories
.
create
(
key:
remote_directory
)
connection
.
directories
.
create
(
key:
remote_directory
)
# Cleanup remaining files
# Cleanup remaining files
connection
.
directories
.
each
do
|
directory
|
connection
.
directories
.
each
do
|
directory
|
directory
.
files
.
map
(
&
:destroy
)
directory
.
files
.
map
(
&
:destroy
)
end
rescue
Excon
::
Error
::
Conflict
end
end
rescue
Excon
::
Error
::
Conflict
end
end
end
end
...
...
spec/support/helpers/test_env.rb
View file @
9f05e97a
...
@@ -202,12 +202,10 @@ module TestEnv
...
@@ -202,12 +202,10 @@ module TestEnv
socket
=
Gitlab
::
GitalyClient
.
address
(
'default'
).
sub
(
'unix:'
,
''
)
socket
=
Gitlab
::
GitalyClient
.
address
(
'default'
).
sub
(
'unix:'
,
''
)
Integer
(
sleep_time
/
sleep_interval
).
times
do
Integer
(
sleep_time
/
sleep_interval
).
times
do
begin
Socket
.
unix
(
socket
)
Socket
.
unix
(
socket
)
return
return
rescue
rescue
sleep
sleep_interval
sleep
sleep_interval
end
end
end
raise
"could not connect to gitaly at
#{
socket
.
inspect
}
after
#{
sleep_time
}
seconds"
raise
"could not connect to gitaly at
#{
socket
.
inspect
}
after
#{
sleep_time
}
seconds"
...
...
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