From ed5dcec5de9e35bfadfdcaaf7212be7fdc628a61 Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Fri, 17 Jul 2015 07:32:17 -0700 Subject: Fix bug where clicking on the link icon on a file would result in "L#undefined" in the URL Closes #2002 --- app/assets/javascripts/line_highlighter.js.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/assets/javascripts/line_highlighter.js.coffee b/app/assets/javascripts/line_highlighter.js.coffee index a8b3c1fa33e..e604e6025c2 100644 --- a/app/assets/javascripts/line_highlighter.js.coffee +++ b/app/assets/javascripts/line_highlighter.js.coffee @@ -70,7 +70,7 @@ class @LineHighlighter @clearHighlight() - lineNumber = $(event.target).data('line-number') + lineNumber = $(event.target).closest('a').data('line-number') current = @hashToRange(@_hash) unless current[0] && event.shiftKey -- cgit v1.2.3 From 55b4f31d9274ad113386eb9ea004d7b4f1073c14 Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Sat, 18 Jul 2015 07:32:18 -0700 Subject: Fix bug where notes were being rendered with wrong color preferences due to caching Closes #2008 --- app/views/projects/notes/_note.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/projects/notes/_note.html.haml b/app/views/projects/notes/_note.html.haml index 5478a887f91..c8d705687da 100644 --- a/app/views/projects/notes/_note.html.haml +++ b/app/views/projects/notes/_note.html.haml @@ -56,7 +56,7 @@ .note-body{class: note_editable?(note) ? 'js-task-list-container' : ''} - = cache [note, 'markdown'] do + = cache [note, 'markdown', user_color_scheme_class] do .note-text = preserve do = markdown(note.note, {no_header_anchors: true}) -- cgit v1.2.3 From ebb6393d0eda26db10da85f0a57c3d707b4de558 Mon Sep 17 00:00:00 2001 From: Valery Sizov Date: Sun, 19 Jul 2015 22:49:21 +0300 Subject: Revert "Merge branch 'cache-improvement' into '7-13-stable' " This reverts commit 94c2516afc7ad8854844c05001f4a390d0bd8724, reversing changes made to ae44e5ec064aaa9f5063732dc7bb6ee751a80ce2. --- app/helpers/projects_helper.rb | 14 --------- app/models/project.rb | 4 --- app/models/repository.rb | 35 +++++++++------------- app/services/git_push_service.rb | 2 +- app/services/git_tag_push_service.rb | 6 ++-- app/views/explore/projects/_project.html.haml | 2 +- app/views/projects/show.html.haml | 2 +- app/workers/project_cache_worker.rb | 15 ---------- app/workers/repository_import_worker.rb | 2 +- db/fixtures/development/04_project.rb | 35 +--------------------- .../20150717130904_add_commits_count_to_project.rb | 5 ---- db/schema.rb | 3 +- lib/repository_cache.rb | 8 ----- 13 files changed, 23 insertions(+), 110 deletions(-) delete mode 100644 app/workers/project_cache_worker.rb delete mode 100644 db/migrate/20150717130904_add_commits_count_to_project.rb diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index f61baf00525..78f24dbd7ef 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -276,18 +276,4 @@ module ProjectsHelper def readme_cache_key [@project.id, @project.commit.sha, "readme"].join('-') end - - def round_commit_count(project) - count = project.commit_count - - if count > 10000 - '10000+' - elsif count > 5000 - '5000+' - elsif count > 1000 - '1000+' - else - count - end - end end diff --git a/app/models/project.rb b/app/models/project.rb index ff372ea9aa5..b161cbe86b9 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -683,10 +683,6 @@ class Project < ActiveRecord::Base update_attribute(:repository_size, repository.size) end - def update_commit_count - update_attribute(:commit_count, repository.commit_count) - end - def forks_count ForkedProjectLink.where(forked_from_project_id: self.id).count end diff --git a/app/models/repository.rb b/app/models/repository.rb index 2985619fd2e..6262b5c4c92 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -94,6 +94,18 @@ class Repository gitlab_shell.rm_tag(path_with_namespace, tag_name) end + def round_commit_count + if commit_count > 10000 + '10000+' + elsif commit_count > 5000 + '5000+' + elsif commit_count > 1000 + '1000+' + else + commit_count + end + end + def branch_names cache.fetch(:branch_names) { raw_repository.branch_names } end @@ -118,29 +130,10 @@ class Repository cache.fetch(:size) { raw_repository.size } end - def cache_keys - %i(size branch_names tag_names commit_count graph_log - readme version contribution_guide changelog license) - end - - def build_cache - cache_keys.each do |key| - unless cache.exist?(key) - send(key) - end - end - end - def expire_cache - cache_keys.each do |key| - cache.expire(key) - end - end - - def rebuild_cache - cache_keys.each do |key| + %i(size branch_names tag_names commit_count graph_log + readme version contribution_guide changelog license).each do |key| cache.expire(key) - send(key) end end diff --git a/app/services/git_push_service.rb b/app/services/git_push_service.rb index 3511392d1d8..6135ae65007 100644 --- a/app/services/git_push_service.rb +++ b/app/services/git_push_service.rb @@ -21,6 +21,7 @@ class GitPushService project.ensure_satellite_exists project.repository.expire_cache + project.update_repository_size if push_remove_branch?(ref, newrev) @push_commits = [] @@ -60,7 +61,6 @@ class GitPushService EventCreateService.new.push(project, user, @push_data) project.execute_hooks(@push_data.dup, :push_hooks) project.execute_services(@push_data.dup, :push_hooks) - ProjectCacheWorker.perform_async(project.id) end protected diff --git a/app/services/git_tag_push_service.rb b/app/services/git_tag_push_service.rb index 1cc42b0b0ad..075a6118da2 100644 --- a/app/services/git_tag_push_service.rb +++ b/app/services/git_tag_push_service.rb @@ -2,15 +2,15 @@ class GitTagPushService attr_accessor :project, :user, :push_data def execute(project, user, oldrev, newrev, ref) - project.repository.expire_cache - @project, @user = project, user + @push_data = build_push_data(oldrev, newrev, ref) EventCreateService.new.push(project, user, @push_data) project.execute_hooks(@push_data.dup, :tag_push_hooks) project.execute_services(@push_data.dup, :tag_push_hooks) - ProjectCacheWorker.perform_async(project.id) + + project.repository.expire_cache true end diff --git a/app/views/explore/projects/_project.html.haml b/app/views/explore/projects/_project.html.haml index d769c91545d..d65fb529373 100644 --- a/app/views/explore/projects/_project.html.haml +++ b/app/views/explore/projects/_project.html.haml @@ -14,7 +14,7 @@ .repo-info - unless project.empty_repo? - = link_to pluralize(round_commit_count(project), 'commit'), namespace_project_commits_path(project.namespace, project, project.default_branch) + = link_to pluralize(project.repository.round_commit_count, 'commit'), namespace_project_commits_path(project.namespace, project, project.default_branch) · = link_to pluralize(project.repository.branch_names.count, 'branch'), namespace_project_branches_path(project.namespace, project) · diff --git a/app/views/projects/show.html.haml b/app/views/projects/show.html.haml index b90cadfb1e2..98d9053eb1d 100644 --- a/app/views/projects/show.html.haml +++ b/app/views/projects/show.html.haml @@ -13,7 +13,7 @@ %ul.nav.nav-pills %li = link_to namespace_project_commits_path(@project.namespace, @project, @ref || @repository.root_ref) do - = pluralize(number_with_delimiter(@project.commit_count), 'commit') + = pluralize(number_with_delimiter(@repository.commit_count), 'commit') %li = link_to namespace_project_branches_path(@project.namespace, @project) do = pluralize(number_with_delimiter(@repository.branch_names.count), 'branch') diff --git a/app/workers/project_cache_worker.rb b/app/workers/project_cache_worker.rb deleted file mode 100644 index 55cb6af232e..00000000000 --- a/app/workers/project_cache_worker.rb +++ /dev/null @@ -1,15 +0,0 @@ -class ProjectCacheWorker - include Sidekiq::Worker - - sidekiq_options queue: :default - - def perform(project_id) - project = Project.find(project_id) - project.update_repository_size - project.update_commit_count - - if project.repository.root_ref - project.repository.build_cache - end - end -end diff --git a/app/workers/repository_import_worker.rb b/app/workers/repository_import_worker.rb index 94832872d13..e6a50afedb1 100644 --- a/app/workers/repository_import_worker.rb +++ b/app/workers/repository_import_worker.rb @@ -28,7 +28,7 @@ class RepositoryImportWorker project.import_finish project.save project.satellite.create unless project.satellite.exists? - ProjectCacheWorker.perform_async(project.id) + project.update_repository_size Gitlab::BitbucketImport::KeyDeleter.new(project).execute if project.import_type == 'bitbucket' end end diff --git a/db/fixtures/development/04_project.rb b/db/fixtures/development/04_project.rb index 8f71198e47f..87839770924 100644 --- a/db/fixtures/development/04_project.rb +++ b/db/fixtures/development/04_project.rb @@ -11,42 +11,9 @@ Sidekiq::Testing.inline! do 'https://github.com/twitter/flight.git', 'https://github.com/twitter/typeahead.js.git', 'https://github.com/h5bp/html5-boilerplate.git', - 'https://github.com/google/material-design-lite.git', - 'https://github.com/jlevy/the-art-of-command-line.git', - 'https://github.com/FreeCodeCamp/freecodecamp.git', - 'https://github.com/google/deepdream.git', - 'https://github.com/jtleek/datasharing.git', - 'https://github.com/WebAssembly/design.git', - 'https://github.com/airbnb/javascript.git', - 'https://github.com/tessalt/echo-chamber-js.git', - 'https://github.com/atom/atom.git', - 'https://github.com/ipselon/react-ui-builder.git', - 'https://github.com/mattermost/platform.git', - 'https://github.com/purifycss/purifycss.git', - 'https://github.com/facebook/nuclide.git', - 'https://github.com/wbkd/awesome-d3.git', - 'https://github.com/kilimchoi/engineering-blogs.git', - 'https://github.com/gilbarbara/logos.git', - 'https://github.com/gaearon/redux.git', - 'https://github.com/awslabs/s2n.git', - 'https://github.com/arkency/reactjs_koans.git', - 'https://github.com/twbs/bootstrap.git', - 'https://github.com/chjj/ttystudio.git', - 'https://github.com/DrBoolean/mostly-adequate-guide.git', - 'https://github.com/octocat/Spoon-Knife.git', - 'https://github.com/opencontainers/runc.git', - 'https://github.com/googlesamples/android-topeka.git' ] - # You can specify how many projects you need during seed execution - size = if ENV['SIZE'].present? - ENV['SIZE'].to_i - else - 8 - end - - - project_urls.first(size).each_with_index do |url, i| + project_urls.each_with_index do |url, i| group_path, project_path = url.split('/')[-2..-1] group = Group.find_by(path: group_path) diff --git a/db/migrate/20150717130904_add_commits_count_to_project.rb b/db/migrate/20150717130904_add_commits_count_to_project.rb deleted file mode 100644 index 9b46daa5933..00000000000 --- a/db/migrate/20150717130904_add_commits_count_to_project.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddCommitsCountToProject < ActiveRecord::Migration - def change - add_column :projects, :commit_count, :integer, default: 0 - end -end diff --git a/db/schema.rb b/db/schema.rb index a63c2d05821..d6c34a77ee6 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20150717130904) do +ActiveRecord::Schema.define(version: 20150713160110) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -374,7 +374,6 @@ ActiveRecord::Schema.define(version: 20150717130904) do t.integer "star_count", default: 0, null: false t.string "import_type" t.string "import_source" - t.integer "commit_count", default: 0 end add_index "projects", ["created_at", "id"], name: "index_projects_on_created_at_and_id", using: :btree diff --git a/lib/repository_cache.rb b/lib/repository_cache.rb index 8ddc3511293..fa016a170cd 100644 --- a/lib/repository_cache.rb +++ b/lib/repository_cache.rb @@ -18,12 +18,4 @@ class RepositoryCache def fetch(key, &block) backend.fetch(cache_key(key), &block) end - - def exist?(key) - backend.exist?(cache_key(key)) - end - - def read(key) - backend.read(cache_key(key)) - end end -- cgit v1.2.3