Skip to content
Snippets Groups Projects
Commit 525a8cd3 authored by Sato Hiroyuki's avatar Sato Hiroyuki
Browse files

Switchable the main branch on network graph

parent c84675ee
No related branches found
No related tags found
3 merge requests!2940Expanding repos and hooks paths in settings,!2770Capistrano deploy,!2823Switchable the main branch on network graph
class GraphController < ProjectResourceController
include ExtractsPath
# Authorize
before_filter :authorize_read_project!
before_filter :authorize_code_access!
before_filter :require_non_empty_project
def show
respond_to do |format|
format.html
format.json do
graph = Gitlab::Graph::JsonBuilder.new(project, @ref)
render :json => graph.to_json
end
end
end
end
Loading
Loading
@@ -90,16 +90,6 @@ class ProjectsController < ProjectResourceController
end
end
 
def graph
respond_to do |format|
format.html
format.json do
graph = Gitlab::Graph::JsonBuilder.new(project)
render :json => graph.to_json
end
end
end
def destroy
return access_denied! unless can?(current_user, :remove_project, project)
 
Loading
Loading
Loading
Loading
@@ -13,6 +13,8 @@ class RefsController < ProjectResourceController
format.html do
new_path = if params[:destination] == "tree"
project_tree_path(@project, (@ref + "/" + params[:path]))
elsif params[:destination] == "graph"
project_graph_path(@project, @ref)
else
project_commits_path(@project, @ref)
end
Loading
Loading
%h3.page_title Project Network Graph
%br
= render partial: 'shared/ref_switcher', locals: {destination: 'graph', path: @path}
%br
.graph_holder
%h4
%small You can move around the graph by using the arrow keys.
Loading
Loading
@@ -11,7 +12,8 @@
var branch_graph;
$(function(){
branch_graph = new BranchGraph($("#holder"), {
url: '#{url_for controller: 'projects', action: 'graph', format: :json}',
commit_url: '#{project_commit_path(@project, 'ae45ca32').gsub("ae45ca32", "%s")}'
url: '#{project_graph_path(@project, @ref, format: :json)}',
commit_url: '#{project_commit_path(@project, 'ae45ca32').gsub("ae45ca32", "%s")}',
ref: '#{@ref}'
});
});
Loading
Loading
@@ -20,8 +20,8 @@
= link_to 'Files', project_tree_path(@project, @ref || @repository.root_ref)
= nav_link(controller: %w(commit commits compare repositories protected_branches)) do
= link_to "Commits", project_commits_path(@project, @ref || @repository.root_ref)
= nav_link(path: 'projects#graph') do
= link_to "Network", graph_project_path(@project)
= nav_link(controller: %w(graph)) do
= link_to "Network", project_graph_path(@project, @ref || @repository.root_ref)
 
- if @project.issues_enabled
= nav_link(controller: %w(issues milestones labels)) do
Loading
Loading
Loading
Loading
@@ -163,7 +163,6 @@ Gitlab::Application.routes.draw do
resources :projects, constraints: { id: /[a-zA-Z.0-9_\-\/]+/ }, except: [:new, :create, :index], path: "/" do
member do
get "wall"
get "graph"
get "files"
end
 
Loading
Loading
@@ -173,6 +172,7 @@ Gitlab::Application.routes.draw do
resources :compare, only: [:index, :create]
resources :blame, only: [:show], constraints: {id: /.+/}
resources :blob, only: [:show], constraints: {id: /.+/}
resources :graph, only: [:show], constraints: {id: /.+/}
match "/compare/:from...:to" => "compare#show", as: "compare",
:via => [:get, :post], constraints: {from: /.+/, to: /.+/}
 
Loading
Loading
Loading
Loading
@@ -54,9 +54,10 @@ module ExtractsPath
input.gsub!(/^#{Gitlab.config.gitlab.relative_url_root}/, "")
# Remove project, actions and all other staff from path
input.gsub!(/^\/#{Regexp.escape(@project.path_with_namespace)}/, "")
input.gsub!(/^\/(tree|commits|blame|blob|refs)\//, "") # remove actions
input.gsub!(/^\/(tree|commits|blame|blob|refs|graph)\//, "") # remove actions
input.gsub!(/\?.*$/, "") # remove stamps suffix
input.gsub!(/.atom$/, "") # remove rss feed
input.gsub!(/.json$/, "") # remove json suffix
input.gsub!(/\/edit$/, "") # remove edit route part
 
if input.match(/^([[:alnum:]]{40})(.+)/)
Loading
Loading
Loading
Loading
@@ -9,8 +9,9 @@ module Gitlab
@max_count ||= 650
end
 
def initialize project
def initialize project, ref
@project = project
@ref = ref
@repo = project.repo
@ref_cache = {}
 
Loading
Loading
@@ -66,9 +67,9 @@ module Gitlab
heads.select!{|h| h.is_a? Grit::Head or h.is_a? Grit::Remote}
# sort heads so the master is top and current branches are closer
heads.sort! do |a,b|
if a.name == "master"
if a.name == @ref
-1
elsif b.name == "master"
elsif b.name == @ref
1
else
b.commit.committed_date <=> a.commit.committed_date
Loading
Loading
Loading
Loading
@@ -73,7 +73,8 @@
, cumonth = ""
, offsetX = 20
, offsetY = 60
, barWidth = Math.max(graphWidth, this.dayCount * 20 + 320);
, barWidth = Math.max(graphWidth, this.dayCount * 20 + 320)
, scrollLeft = cw;
this.raphael = r;
Loading
Loading
@@ -145,12 +146,18 @@
if (this.commits[i].refs) {
this.appendLabel(x, y, this.commits[i].refs);
// The main branch is displayed in the center.
re = new RegExp('(^| )' + this.options.ref + '( |$)');
if (this.commits[i].refs.match(re)) {
scrollLeft = x - graphWidth / 2;
}
}
this.appendAnchor(top, this.commits[i], x, y);
}
top.toFront();
this.element.scrollLeft(cw);
this.element.scrollLeft(scrollLeft);
this.bindEvents();
};
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment