diff options
author | Bob Van Landuyt <bob@vanlanduyt.co> | 2017-10-22 20:16:41 +0300 |
---|---|---|
committer | Bob Van Landuyt <bob@vanlanduyt.co> | 2017-10-22 20:24:47 +0300 |
commit | 6f5ebc4bae8524585b5377d3056664730e0e1381 (patch) | |
tree | fc3ec67edee1fc6b885f86887e71486338c6969a | |
parent | 490cce630f5984d063283537ac42a6f9fbad86e6 (diff) | |
download | gitlab-ce-6f5ebc4bae8524585b5377d3056664730e0e1381.tar.gz |
Only cache the event for the fork-source when it existsbvl-fix-push-event-service-for-forks
It is possible for a fork not to have a source anymore, in this case
we don't need to keep track of the push event.
-rw-r--r-- | app/services/users/last_push_event_service.rb | 4 | ||||
-rw-r--r-- | changelogs/unreleased/bvl-fix-push-event-service-for-forks.yml | 5 | ||||
-rw-r--r-- | spec/services/users/last_push_event_service_spec.rb | 1 |
3 files changed, 7 insertions, 3 deletions
diff --git a/app/services/users/last_push_event_service.rb b/app/services/users/last_push_event_service.rb index f2bfb60604f..57e446d7f30 100644 --- a/app/services/users/last_push_event_service.rb +++ b/app/services/users/last_push_event_service.rb @@ -16,8 +16,8 @@ module Users user_cache_key ] - if event.project.forked? - keys << project_cache_key(event.project.forked_from_project) + if forked_from = event.project.forked_from_project + keys << project_cache_key(forked_from) end keys.each { |key| set_key(key, event.id) } diff --git a/changelogs/unreleased/bvl-fix-push-event-service-for-forks.yml b/changelogs/unreleased/bvl-fix-push-event-service-for-forks.yml new file mode 100644 index 00000000000..2a7d80270ac --- /dev/null +++ b/changelogs/unreleased/bvl-fix-push-event-service-for-forks.yml @@ -0,0 +1,5 @@ +--- +title: Only cache last push event for existing projects when pushing to a fork +merge_request: 14989 +author: +type: fixed diff --git a/spec/services/users/last_push_event_service_spec.rb b/spec/services/users/last_push_event_service_spec.rb index 956358738fe..2b6c0267a0f 100644 --- a/spec/services/users/last_push_event_service_spec.rb +++ b/spec/services/users/last_push_event_service_spec.rb @@ -22,7 +22,6 @@ describe Users::LastPushEventService do it 'caches the event for the origin project when pushing to a fork' do source = build(:project, id: 5) - allow(project).to receive(:forked?).and_return(true) allow(project).to receive(:forked_from_project).and_return(source) expect(service).to receive(:set_key) |