Commit cbe9f56a authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Ability to create new branch via UI

parent d65eb22e
......@@ -10,7 +10,9 @@ class Projects::BranchesController < Projects::ApplicationController
end
def create
# TODO: implement
@project.repository.add_branch(params[:branch_name], params[:ref])
redirect_to project_branches_path(@project)
end
def destroy
......@@ -21,7 +23,7 @@ class Projects::BranchesController < Projects::ApplicationController
end
respond_to do |format|
format.html { redirect_to project_branches_path }
format.html { redirect_to project_branches_path(@project) }
format.js { render nothing: true }
end
end
......
......@@ -35,11 +35,21 @@ class Repository
commits
end
def add_branch(branch_name, ref)
Rails.cache.delete(cache_key(:branch_names))
gitlab_shell.add_branch(path_with_namespace, branch_name, ref)
end
def rm_branch(branch_name)
Rails.cache.delete(cache_key(:branch_names))
gitlab_shell.rm_branch(path_with_namespace, branch_name)
end
def rm_tag(tag_name)
Rails.cache.delete(cache_key(:tag_names))
gitlab_shell.rm_tag(path_with_namespace, tag_name)
end
......
%h3.page-title
%i.icon-code-fork
New branch
= form_tag project_branches_path, method: :post do
.control-group
= label_tag :branch_name, 'Name for new branch', class: 'control-label'
.controls
= text_field_tag :branch_name, nil, placeholder: 'feature/dashboard'
.control-group
= label_tag :ref, 'Create from', class: 'control-label'
.controls
= text_field_tag :ref, nil, placeholder: 'master'
.light branch name or commit SHA
.form-actions
= submit_tag 'Create branch', class: 'btn btn-create'
= link_to 'Cancel', project_branches_path(@project), class: 'btn btn-cancel'
:javascript
var availableTags = #{@project.repository.ref_names.to_json};
$("#ref").autocomplete({
source: availableTags,
minLength: 1
});
......@@ -7,3 +7,10 @@
%i.icon-lock
= nav_link(path: 'branches#index') do
= link_to 'All branches', project_branches_path(@project)
%hr
= link_to new_project_branch_path(@project), class: 'btn btn-create' do
%i.icon-add-sign
New branch
......@@ -223,8 +223,8 @@ Gitlab::Application.routes.draw do
end
end
resources :tags, only: [:index, :create, :destroy]
resources :branches, only: [:index, :create, :destroy]
resources :tags, only: [:index, :new, :create, :destroy]
resources :branches, only: [:index, :new, :create, :destroy]
resources :protected_branches, only: [:index, :create, :destroy]
resources :refs, only: [] do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment