mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-18 00:56:41 +10:00
Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce
This commit is contained in:
@@ -50,6 +50,7 @@ v 7.11.0 (unreleased)
|
||||
- Add footnotes support to Markdown (Guillaume Delbergue)
|
||||
- Add current_sign_in_at to UserFull REST api.
|
||||
- Make Sidekiq MemoryKiller shutdown signal configurable
|
||||
- Add "Create Merge Request" buttons to commits and branches pages and push event.
|
||||
|
||||
v 7.10.2
|
||||
- Fix CI links on MR page
|
||||
|
||||
@@ -6,11 +6,12 @@ class Projects::CompareController < Projects::ApplicationController
|
||||
before_action :authorize_download_code!
|
||||
|
||||
def index
|
||||
@ref = Addressable::URI.unescape(params[:to])
|
||||
end
|
||||
|
||||
def show
|
||||
base_ref = Addressable::URI.unescape(params[:from])
|
||||
head_ref = Addressable::URI.unescape(params[:to])
|
||||
@ref = head_ref = Addressable::URI.unescape(params[:to])
|
||||
|
||||
compare_result = CompareService.new.execute(
|
||||
current_user,
|
||||
|
||||
@@ -52,13 +52,13 @@ class UploadsController < ApplicationController
|
||||
|
||||
def upload_model
|
||||
upload_models = {
|
||||
user: User,
|
||||
project: Project,
|
||||
note: Note,
|
||||
group: Group
|
||||
"user" => User,
|
||||
"project" => Project,
|
||||
"note" => Note,
|
||||
"group" => Group
|
||||
}
|
||||
|
||||
upload_models[params[:model].to_sym]
|
||||
upload_models[params[:model]]
|
||||
end
|
||||
|
||||
def upload_mount
|
||||
|
||||
@@ -1,21 +1,20 @@
|
||||
module CompareHelper
|
||||
def compare_to_mr_button?
|
||||
@project.merge_requests_enabled &&
|
||||
params[:from].present? &&
|
||||
params[:to].present? &&
|
||||
@repository.branch_names.include?(params[:from]) &&
|
||||
@repository.branch_names.include?(params[:to]) &&
|
||||
params[:from] != params[:to] &&
|
||||
!@refs_are_same
|
||||
def create_mr_button?(from = params[:from], to = params[:to], project = @project)
|
||||
from.present? &&
|
||||
to.present? &&
|
||||
from != to &&
|
||||
project.merge_requests_enabled &&
|
||||
project.repository.branch_names.include?(from) &&
|
||||
project.repository.branch_names.include?(to)
|
||||
end
|
||||
|
||||
def compare_mr_path
|
||||
def create_mr_path(from = params[:from], to = params[:to], project = @project)
|
||||
new_namespace_project_merge_request_path(
|
||||
@project.namespace,
|
||||
@project,
|
||||
project.namespace,
|
||||
project,
|
||||
merge_request: {
|
||||
source_branch: params[:to],
|
||||
target_branch: params[:from]
|
||||
source_branch: to,
|
||||
target_branch: from
|
||||
}
|
||||
)
|
||||
end
|
||||
|
||||
@@ -17,15 +17,27 @@
|
||||
- few_commits.each do |commit|
|
||||
= render "events/commit", commit: commit, project: project
|
||||
|
||||
- create_mr = current_user == event.author && event.new_ref? && create_mr_button?(event.project.default_branch, event.ref_name, event.project)
|
||||
- if event.commits_count > 1
|
||||
%li.commits-stat
|
||||
- if event.commits_count > 2
|
||||
%span ... and #{event.commits_count - 2} more commits.
|
||||
|
||||
- if event.md_ref?
|
||||
- from = event.commit_from
|
||||
- from_label = truncate_sha(from)
|
||||
- else
|
||||
- from = event.project.default_branch
|
||||
- from_label = from
|
||||
|
||||
= link_to namespace_project_compare_path(event.project.namespace, event.project, from: from, to: event.commit_to) do
|
||||
%strong Compare → #{from_label}...#{truncate_sha(event.commit_to)}
|
||||
Compare #{from_label}...#{truncate_sha(event.commit_to)}
|
||||
|
||||
- if create_mr
|
||||
or
|
||||
= link_to create_mr_path(event.project.default_branch, event.ref_name, event.project) do
|
||||
create a merge request
|
||||
- elsif create_mr
|
||||
%li.commits-stat
|
||||
= link_to create_mr_path(event.project.default_branch, event.ref_name, event.project) do
|
||||
Create Merge Request
|
||||
|
||||
@@ -10,16 +10,19 @@
|
||||
%i.fa.fa-lock
|
||||
protected
|
||||
.pull-right
|
||||
- if can?(current_user, :download_code, @project)
|
||||
= render 'projects/repositories/download_archive', ref: branch.name, btn_class: 'btn-grouped btn-group-xs'
|
||||
- if create_mr_button?(@repository.root_ref, branch.name)
|
||||
= link_to create_mr_path(@repository.root_ref, branch.name), class: 'btn btn-grouped btn-xs' do
|
||||
= icon('plus')
|
||||
Merge Request
|
||||
|
||||
- if branch.name != @repository.root_ref
|
||||
= link_to namespace_project_compare_index_path(@project.namespace, @project, from: @repository.root_ref, to: branch.name), class: 'btn btn-grouped btn-xs', method: :post, title: "Compare" do
|
||||
%i.fa.fa-files-o
|
||||
= icon("exchange")
|
||||
Compare
|
||||
|
||||
- if can_remove_branch?(@project, branch.name)
|
||||
= link_to namespace_project_branch_path(@project.namespace, @project, branch.name), class: 'btn btn-grouped btn-xs btn-remove remove-row', method: :delete, data: { confirm: 'Removed branch cannot be restored. Are you sure?'}, remote: true do
|
||||
%i.fa.fa-trash-o
|
||||
= icon("trash-o")
|
||||
|
||||
- if commit
|
||||
%ul.list-unstyled
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
%ul.nav.nav-tabs
|
||||
= nav_link(controller: [:commit, :commits]) do
|
||||
= link_to namespace_project_commits_path(@project.namespace, @project, @repository.root_ref) do
|
||||
= link_to namespace_project_commits_path(@project.namespace, @project, @ref || @repository.root_ref) do
|
||||
Commits
|
||||
%span.badge= number_with_precision(@repository.commit_count, precision: 0, delimiter: ',')
|
||||
= nav_link(controller: :compare) do
|
||||
|
||||
@@ -8,11 +8,17 @@
|
||||
.tree-ref-holder
|
||||
= render 'shared/ref_switcher', destination: 'commits'
|
||||
|
||||
- if current_user && current_user.private_token
|
||||
.commits-feed-holder.hidden-xs.hidden-sm
|
||||
= link_to namespace_project_commits_path(@project.namespace, @project, @ref, {format: :atom, private_token: current_user.private_token}), title: "Feed", class: 'btn' do
|
||||
%i.fa.fa-rss
|
||||
Commits feed
|
||||
.commits-feed-holder.hidden-xs.hidden-sm
|
||||
- if create_mr_button?(@repository.root_ref, @ref)
|
||||
= link_to create_mr_path(@repository.root_ref, @ref), class: 'btn btn-success' do
|
||||
= icon('plus')
|
||||
Create Merge Request
|
||||
|
||||
- if current_user && current_user.private_token
|
||||
= link_to namespace_project_commits_path(@project.namespace, @project, @ref, {format: :atom, private_token: current_user.private_token}), title: "Feed", class: 'prepend-left-10 btn' do
|
||||
= icon("rss")
|
||||
Commits Feed
|
||||
|
||||
|
||||
%ul.breadcrumb.repo-breadcrumb
|
||||
= commits_breadcrumbs
|
||||
|
||||
@@ -13,9 +13,10 @@
|
||||
= text_field_tag :to, params[:to], class: "form-control"
|
||||
|
||||
= button_tag "Compare", class: "btn btn-create commits-compare-btn"
|
||||
- if compare_to_mr_button?
|
||||
= link_to compare_mr_path, class: 'prepend-left-10 btn' do
|
||||
%strong Make a merge request
|
||||
- if create_mr_button?
|
||||
= link_to create_mr_path, class: 'prepend-left-10 btn' do
|
||||
= icon("plus")
|
||||
Create Merge Request
|
||||
|
||||
|
||||
:javascript
|
||||
|
||||
@@ -1,17 +1,20 @@
|
||||
# Migration Style Guide
|
||||
|
||||
When writing migrations for GitLab, you have to take into account that
|
||||
these will be ran by thousands of organizations of all sizes, some with
|
||||
these will be ran by hundreds of thousands of organizations of all sizes, some with
|
||||
many years of data in their database.
|
||||
|
||||
In addition, having to take a server offline for a an upgrade small or big is
|
||||
a big burden for most organizations. For this reason it is important that your
|
||||
migrations are written carefully and adhere to the style guide below.
|
||||
migrations are written carefully, can be applied online and adhere to the style guide below.
|
||||
|
||||
When writing your migrations, also consider that databases might have stale data
|
||||
or inconsistencies and guard for that. Try to make as little assumptions as possible
|
||||
about the state of the database.
|
||||
|
||||
Please don't depend on GitLab specific code since it can change in future versions.
|
||||
If needed copy-paste GitLab code into the migration to make make it forward compatible.
|
||||
|
||||
## Comments in the migration
|
||||
|
||||
Each migration you write needs to have the two following pieces of information
|
||||
@@ -36,4 +39,4 @@ Your migration should be reversible. This is very important, as it should
|
||||
be possible to downgrade in case of a vulnerability or bugs.
|
||||
|
||||
In your migration, add a comment describing how the reversibility of the
|
||||
migration was tested.
|
||||
migration was tested.
|
||||
@@ -12,7 +12,7 @@ class Spinach::Features::ProjectCommits < Spinach::FeatureSteps
|
||||
end
|
||||
|
||||
step 'I click atom feed link' do
|
||||
click_link "Feed"
|
||||
click_link "Commits Feed"
|
||||
end
|
||||
|
||||
step 'I see commits atom feed' do
|
||||
|
||||
Reference in New Issue
Block a user