diff options
| -rw-r--r-- | Gemfile | 2 | ||||
| -rw-r--r-- | Gemfile.lock | 4 | ||||
| -rw-r--r-- | app/assets/javascripts/stat_graph_contributors.js.coffee | 15 | ||||
| -rw-r--r-- | app/assets/javascripts/stat_graph_contributors_util.js.coffee | 2 | ||||
| -rw-r--r-- | app/controllers/projects/graphs_controller.rb | 17 | ||||
| -rw-r--r-- | app/controllers/projects/repositories_controller.rb | 5 | ||||
| -rw-r--r-- | app/models/repository.rb | 2 | ||||
| -rw-r--r-- | app/views/projects/commits/_head.html.haml | 4 | ||||
| -rw-r--r-- | app/views/projects/graphs/show.html.haml | 29 | ||||
| -rw-r--r-- | app/views/projects/graphs/show.js.haml | 19 | ||||
| -rw-r--r-- | app/views/projects/repositories/stats.html.haml | 33 | ||||
| -rw-r--r-- | config/routes.rb | 1 | ||||
| -rw-r--r-- | features/project/commits/commits.feature | 7 | 
13 files changed, 36 insertions, 104 deletions
@@ -31,7 +31,7 @@ gem 'omniauth-shibboleth'  # Extracting information from a git repository  # Provide access to Gitlab::Git library -gem "gitlab_git", '7.0.0.rc2' +gem "gitlab_git", '7.0.0.rc3'  # Ruby/Rack Git Smart-HTTP Server Handler  gem 'gitlab-grack', '~> 2.0.0.pre', require: 'grack' diff --git a/Gemfile.lock b/Gemfile.lock index 26b406f7fa1..d59543e9ab7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -179,7 +179,7 @@ GEM        mime-types (~> 1.19)      gitlab_emoji (0.0.1.1)        emoji (~> 1.0.1) -    gitlab_git (7.0.0.rc2) +    gitlab_git (7.0.0.rc3)        activesupport (~> 4.0)        charlock_holmes (~> 0.6)        gitlab-linguist (~> 3.0) @@ -618,7 +618,7 @@ DEPENDENCIES    gitlab-grack (~> 2.0.0.pre)    gitlab-linguist (~> 3.0.0)    gitlab_emoji (~> 0.0.1.1) -  gitlab_git (= 7.0.0.rc2) +  gitlab_git (= 7.0.0.rc3)    gitlab_meta (= 7.0)    gitlab_omniauth-ldap (= 1.1.0)    gollum-lib (~> 3.0.0) diff --git a/app/assets/javascripts/stat_graph_contributors.js.coffee b/app/assets/javascripts/stat_graph_contributors.js.coffee index 168b7337041..ab785a54543 100644 --- a/app/assets/javascripts/stat_graph_contributors.js.coffee +++ b/app/assets/javascripts/stat_graph_contributors.js.coffee @@ -24,22 +24,7 @@ class window.ContributorsStatGraph        class: 'graph-author-commits-count'      })      commits.text(author.commits + " commits") - -    additions = $('<span/>', { -      class: 'graph-additions' -    }) -    additions.text(author.additions + " ++") - -    deletions = $('<span/>', { -      class: 'graph-deletions' -    }) -    deletions.text(author.deletions + " --") -      $('<span/>').append(commits) -      .append(" / ") -      .append(additions) -      .append(" / ") -      .append(deletions)    create_author_header: (author) ->      list_item = $('<li/>', { diff --git a/app/assets/javascripts/stat_graph_contributors_util.js.coffee b/app/assets/javascripts/stat_graph_contributors_util.js.coffee index 364cab18377..1670f5c7bc1 100644 --- a/app/assets/javascripts/stat_graph_contributors_util.js.coffee +++ b/app/assets/javascripts/stat_graph_contributors_util.js.coffee @@ -90,4 +90,4 @@ window.ContributorsStatGraphUtil =        true      else        false -   + diff --git a/app/controllers/projects/graphs_controller.rb b/app/controllers/projects/graphs_controller.rb index 252d47d939e..92bb5607f81 100644 --- a/app/controllers/projects/graphs_controller.rb +++ b/app/controllers/projects/graphs_controller.rb @@ -7,7 +7,7 @@ class Projects::GraphsController < Projects::ApplicationController    def show      respond_to do |format|        format.html -      format.js do +      format.json do          fetch_graph        end      end @@ -16,10 +16,17 @@ class Projects::GraphsController < Projects::ApplicationController    private    def fetch_graph -    @log = @project.repository.graph_log.to_json -    @success = true -  rescue => ex +    @commits = @project.repository.commits(nil, nil, 6000, 0, true)      @log = [] -    @success = false + +    @commits.each do |commit| +      @log << { +        author_name: commit.author_name.force_encoding('UTF-8'), +        author_email: commit.author_email.force_encoding('UTF-8'), +        date: commit.committed_date.strftime("%Y-%m-%d") +      } +    end + +    render json: @log.to_json    end  end diff --git a/app/controllers/projects/repositories_controller.rb b/app/controllers/projects/repositories_controller.rb index c030320d037..4e0f190ed1c 100644 --- a/app/controllers/projects/repositories_controller.rb +++ b/app/controllers/projects/repositories_controller.rb @@ -4,11 +4,6 @@ class Projects::RepositoriesController < Projects::ApplicationController    before_filter :authorize_code_access!    before_filter :require_non_empty_project -  def stats -    @stats = Gitlab::Git::Stats.new(@repository.raw_repository, @repository.root_ref) -    @graph = @stats.graph -  end -    def archive      unless can?(current_user, :download_code, @project)        render_404 and return diff --git a/app/models/repository.rb b/app/models/repository.rb index a2bdfe87469..b7ca6e0919f 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -32,7 +32,7 @@ class Repository      commit    end -  def commits(ref, path = nil, limit = nil, offset = nil) +  def commits(ref, path = nil, limit = nil, offset = nil, skip_merges = false)      commits = Gitlab::Git::Commit.where(        repo: raw_repository,        ref: ref, diff --git a/app/views/projects/commits/_head.html.haml b/app/views/projects/commits/_head.html.haml index 2dcd84af010..0c9d906481b 100644 --- a/app/views/projects/commits/_head.html.haml +++ b/app/views/projects/commits/_head.html.haml @@ -13,7 +13,3 @@      = link_to project_tags_path(@project) do        Tags        %span.badge.js-totaltags-count= @repository.tags.length - -  = nav_link(controller: :repositories, action: :stats) do -    = link_to stats_project_repository_path(@project) do -      Stats diff --git a/app/views/projects/graphs/show.html.haml b/app/views/projects/graphs/show.html.haml index 8e4548f26d0..c2878e13e7c 100644 --- a/app/views/projects/graphs/show.html.haml +++ b/app/views/projects/graphs/show.html.haml @@ -3,15 +3,10 @@      %h3.page-title        %i.icon-spinner.icon-spin        Building repository graph. -    %p Please wait a moment, this page will automatically refresh when ready. +    %p.slead Please wait a moment, this page will automatically refresh when ready. -.stat-graph +.stat-graph.hide    .header.clearfix -    .pull-right -      %select -        %option{:value => "commits"} Commits -        %option{:value => "additions"} Additions -        %option{:value => "deletions"} Deletions      %h3#date_header.page-title      %p.light        Commits to #{@project.default_branch}, excluding merge commits. Limited by 6,000 commits @@ -21,15 +16,21 @@      #contributors.clearfix        %ol.contributors-list.clearfix -:javascript -  $(".stat-graph").hide(); -  $.ajax({ + +:coffeescript +  $.ajax      type: "GET",      url: location.href, -    complete: function() { +    success: (data) -> +      graph = new ContributorsStatGraph() +      graph.init(data) + +      $("#brush_change").change -> +        graph.change_date_header() +        graph.redraw_authors() +        $(".stat-graph").fadeIn();        $(".loading-graph").hide(); -    }, -    dataType: "script" -  }); +    dataType: "json" + diff --git a/app/views/projects/graphs/show.js.haml b/app/views/projects/graphs/show.js.haml deleted file mode 100644 index dcf6cacdceb..00000000000 --- a/app/views/projects/graphs/show.js.haml +++ /dev/null @@ -1,19 +0,0 @@ -- if @success -  :plain -    controller = new ContributorsStatGraph -    controller.init(#{@log}) - -    $("select").change( function () { -      var field = $(this).val() -      controller.set_current_field(field) -      controller.redraw_master() -      controller.redraw_authors() -    }) - -    $("#brush_change").change( function () { -      controller.change_date_header() -      controller.redraw_authors() -    }) -- else -  :plain -    $('.stat-graph').replaceWith('<div class="alert alert-danger">Failed to load graph</div>') diff --git a/app/views/projects/repositories/stats.html.haml b/app/views/projects/repositories/stats.html.haml deleted file mode 100644 index 70db27d6444..00000000000 --- a/app/views/projects/repositories/stats.html.haml +++ /dev/null @@ -1,33 +0,0 @@ -= render "projects/commits/head" -.row -  .col-md-6 -    %div#activity-chart.chart -    %hr -    %p -      %b Total commits: -      %span= @repository.commit_count -    %p -      %b Total files in #{@repository.root_ref}: -      %span= @stats.files_count -    %p -      %b Authors: -      %span= @stats.authors_count - - -  .col-md-6 -    %h4 Top 50 Committers: -    %ol.styled -      - @stats.authors[0...50].each do |author| -        %li -          = image_tag avatar_icon(author.email, 16), class: 'avatar s16', alt: '' -          = author.name -          %small.light= author.email -          .pull-right -            = author.commits - - -:javascript -  var labels = [#{@graph.labels.to_json}]; -  var commits = [#{@graph.commits.join(', ')}]; -  var title = "Commit activity for last #{@graph.weeks} weeks"; -  Chart.init(labels, commits, title); diff --git a/config/routes.rb b/config/routes.rb index 39ab9f4265a..ba3cb8bd4cf 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -230,7 +230,6 @@ Gitlab::Application.routes.draw do        resource :repository, only: [:show] do          member do -          get "stats"            get "archive", constraints: { format: Gitlab::Regex.archive_formats_regex }          end        end diff --git a/features/project/commits/commits.feature b/features/project/commits/commits.feature index 7c6db3c465a..8a213067548 100644 --- a/features/project/commits/commits.feature +++ b/features/project/commits/commits.feature @@ -30,9 +30,10 @@ Feature: Project Browse commits      Given I visit my project's commits page for a specific path      Then I see breadcrumb links -  Scenario: I browse commits stats -    Given I visit my project's commits stats page -    Then I see commits stats +  # TODO: Implement feature in graphs +  #Scenario: I browse commits stats +    #Given I visit my project's commits stats page +    #Then I see commits stats    Scenario: I browse big commit      Given I visit big commit page  | 
