summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG3
-rw-r--r--Gemfile2
-rw-r--r--Gemfile.lock14
-rw-r--r--app/controllers/projects/merge_requests_controller.rb1
-rw-r--r--app/views/projects/merge_requests/_merge_request.html.haml5
-rw-r--r--config/initializers/state_machine_patch.rb9
-rw-r--r--features/project/merge_requests.feature9
-rw-r--r--features/steps/project/merge_requests.rb20
8 files changed, 47 insertions, 16 deletions
diff --git a/CHANGELOG b/CHANGELOG
index d11076f4848..168c4b50e4a 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -3,8 +3,6 @@ Please view this file on the master branch, on stable branches it's out of date.
v 8.2.0 (unreleased)
- Added a GitLab specific profiling tool called "Sherlock" (see GitLab CE merge request #1749)
- Upgrade gitlab_git to 7.2.20 and rugged to 0.23.3 (Stan Hu)
- - Fix bug where manually merged branches in a MR would end up with an empty diff (Stan Hu)
- - Force update refs/merge-requests/X/head upon a push to the source branch of a merge request (Stan Hu)
- Improved performance of finding users by one of their Email addresses
- Improved performance of replacing references in comments
- Show last project commit to default branch on project home page
@@ -28,6 +26,7 @@ v 8.2.0 (unreleased)
- Allow groups to appear in the search results if the group owner allows it
- New design for project graphs page
- Fix incoming email config defaults
+ - MR target branch is now visible on a list view when it is different from project's default one
v 8.1.4
- Fix bug where manually merged branches in a MR would end up with an empty diff (Stan Hu)
diff --git a/Gemfile b/Gemfile
index 51848621b64..c73aa26bd0a 100644
--- a/Gemfile
+++ b/Gemfile
@@ -109,7 +109,7 @@ group :unicorn do
end
# State machine
-gem "state_machine", '~> 1.2.0'
+gem "state_machines-activerecord", '~> 0.3.0'
# Run events after state machine commits
gem 'after_commit_queue'
diff --git a/Gemfile.lock b/Gemfile.lock
index d358e236302..dca8606806a 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -107,7 +107,7 @@ GEM
json (>= 1.7)
celluloid (0.16.0)
timers (~> 4.0.0)
- charlock_holmes (0.6.9.4)
+ charlock_holmes (0.7.3)
chunky_png (1.3.4)
cliver (0.3.2)
coderay (1.1.0)
@@ -611,7 +611,7 @@ GEM
sexp_processor (~> 4.1)
rubyntlm (0.5.2)
rubypants (0.2.0)
- rugged (0.22.2)
+ rugged (0.23.3)
safe_yaml (1.0.4)
sanitize (2.1.0)
nokogiri (>= 1.4.4)
@@ -686,7 +686,13 @@ GEM
activesupport (>= 3.0)
sprockets (>= 2.8, < 4.0)
stamp (0.6.0)
- state_machine (1.2.0)
+ state_machines (0.4.0)
+ state_machines-activemodel (0.3.0)
+ activemodel (~> 4.1)
+ state_machines (>= 0.4.0)
+ state_machines-activerecord (0.3.0)
+ activerecord (~> 4.1)
+ state_machines-activemodel (>= 0.3.0)
stringex (2.5.2)
systemu (2.6.5)
task_list (1.0.2)
@@ -905,7 +911,7 @@ DEPENDENCIES
spring-commands-teaspoon (~> 0.0.2)
sprockets (~> 2.12.3)
stamp (~> 0.6.0)
- state_machine (~> 1.2.0)
+ state_machines-activerecord (~> 0.3.0)
task_list (~> 1.0.2)
teaspoon (~> 1.0.0)
teaspoon-jasmine (~> 2.2.0)
diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb
index 16c42386623..b0788a2d073 100644
--- a/app/controllers/projects/merge_requests_controller.rb
+++ b/app/controllers/projects/merge_requests_controller.rb
@@ -31,6 +31,7 @@ class Projects::MergeRequestsController < Projects::ApplicationController
end
@merge_requests = @merge_requests.page(params[:page]).per(PER_PAGE)
+ @merge_requests = @merge_requests.preload(:target_project)
respond_to do |format|
format.html
diff --git a/app/views/projects/merge_requests/_merge_request.html.haml b/app/views/projects/merge_requests/_merge_request.html.haml
index 300a3715292..c5234c0618c 100644
--- a/app/views/projects/merge_requests/_merge_request.html.haml
+++ b/app/views/projects/merge_requests/_merge_request.html.haml
@@ -41,6 +41,11 @@
%span
%i.fa.fa-clock-o
= merge_request.milestone.title
+ - if merge_request.target_project.default_branch != merge_request.target_branch
+ &nbsp;
+ %span
+ %i.fa.fa-code-fork
+ = merge_request.target_branch
- if merge_request.tasks?
%span.task-status
= merge_request.task_status
diff --git a/config/initializers/state_machine_patch.rb b/config/initializers/state_machine_patch.rb
deleted file mode 100644
index 72d010fa5de..00000000000
--- a/config/initializers/state_machine_patch.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-# This is a patch to address the issue in https://github.com/pluginaweek/state_machine/issues/251
-# where gem 'state_machine' was not working for Rails 4.1
-module StateMachine
- module Integrations
- module ActiveModel
- public :around_validation
- end
- end
-end
diff --git a/features/project/merge_requests.feature b/features/project/merge_requests.feature
index f423c3ba542..6cd081c868e 100644
--- a/features/project/merge_requests.feature
+++ b/features/project/merge_requests.feature
@@ -16,6 +16,15 @@ Feature: Project Merge Requests
When I visit project "Shop" merge requests page
Then I should see merge request "Bug NS-05" with CI status
+ Scenario: I should not see target branch name when it is project's default branch
+ Then I should see "Bug NS-04" in merge requests
+ And I should not see "master" branch
+
+ Scenario: I should see target branch when it is different from default
+ Given project "Shop" have "Bug NS-06" open merge request
+ When I visit project "Shop" merge requests page
+ Then I should see "other_branch" branch
+
Scenario: I should see rejected merge requests
Given I click link "Closed"
Then I should see "Feature NS-03" in merge requests
diff --git a/features/steps/project/merge_requests.rb b/features/steps/project/merge_requests.rb
index 92ec14d0d76..d5f2c4209a1 100644
--- a/features/steps/project/merge_requests.rb
+++ b/features/steps/project/merge_requests.rb
@@ -40,6 +40,14 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
expect(page).to have_content "Bug NS-04"
end
+ step 'I should not see "master" branch' do
+ expect(page).not_to have_content "master"
+ end
+
+ step 'I should see "other_branch" branch' do
+ expect(page).to have_content "other_branch"
+ end
+
step 'I should see "Bug NS-04" in merge requests' do
expect(page).to have_content "Bug NS-04"
end
@@ -93,6 +101,18 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
)
end
+ step 'project "Shop" have "Bug NS-06" open merge request' do
+ create(:merge_request,
+ title: "Bug NS-06",
+ source_project: project,
+ target_project: project,
+ source_branch: 'fix',
+ target_branch: 'other_branch',
+ author: project.users.first,
+ description: "# Description header"
+ )
+ end
+
step 'project "Shop" have "Bug NS-05" open merge request with diffs inside' do
create(:merge_request_with_diffs,
title: "Bug NS-05",