From 3d7194f0112da12e8732df9ffe8b34fe7d0a9f6b Mon Sep 17 00:00:00 2001 From: Izaak Alpert Date: Thu, 25 Apr 2013 10:15:33 -0400 Subject: Merge Request on forked projects The good: - You can do a merge request for a forked commit and it will merge properly (i.e. it does work). - Push events take into account merge requests on forked projects - Tests around merge_actions now present, spinach, and other rspec tests - Satellites now clean themselves up rather then recreate The questionable: - Events only know about target projects - Project's merge requests only hold on to MR's where they are the target - All operations performed in the satellite The bad: - Duplication between project's repositories and satellites (e.g. commits_between) (for reference: http://feedback.gitlab.com/forums/176466-general/suggestions/3456722-merge-requests-between-projects-repos) Fixes: Make test repos/satellites only create when needed -Spinach/Rspec now only initialize test directory, and setup stubs (things that are relatively cheap) -project_with_code, source_project_with_code, and target_project_with_code now create/destroy their repos individually -fixed remote removal -How to merge renders properly -Update emails to show project/branches -Edit MR doesn't set target branch -Fix some failures on editing/creating merge requests, added a test -Added back a test around merge request observer -Clean up project_transfer_spec, Remove duplicate enable/disable observers -Ensure satellite lock files are cleaned up, Attempted to add some testing around these as well -Signifant speed ups for tests -Update formatting ordering in notes_on_merge_requests -Remove wiki schema update Fixes for search/search results -Search results was using by_project for a list of projects, updated this to use in_projects -updated search results to reference the correct (target) project -udpated search results to print both sides of the merge request Change-Id: I19407990a0950945cc95d62089cbcc6262dab1a8 --- db/fixtures/development/10_merge_requests.rb | 3 ++- db/fixtures/test/001_repo.rb | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'db/fixtures') diff --git a/db/fixtures/development/10_merge_requests.rb b/db/fixtures/development/10_merge_requests.rb index 0a8d67d4461..bf247adb416 100644 --- a/db/fixtures/development/10_merge_requests.rb +++ b/db/fixtures/development/10_merge_requests.rb @@ -23,7 +23,8 @@ Gitlab::Seeder.quiet do id: i, source_branch: branches.first, target_branch: branches.last, - project_id: project.id, + source_project_id: project.id, + target_project_id: project.id, author_id: user_id, assignee_id: user_id, milestone: project.milestones.sample, diff --git a/db/fixtures/test/001_repo.rb b/db/fixtures/test/001_repo.rb index 18fc37cde0c..59fd2fde124 100644 --- a/db/fixtures/test/001_repo.rb +++ b/db/fixtures/test/001_repo.rb @@ -19,5 +19,15 @@ FileUtils.cd(REPO_PATH) do # Remove the copy FileUtils.rm(SEED_REPO) end +puts ' done.' +print "Creating seed satellite..." +SATELLITE_PATH = Rails.root.join('tmp', 'satellite') +# Make directory +FileUtils.mkdir_p(SATELLITE_PATH) +# Chdir, clone from the seed +FileUtils.cd(SATELLITE_PATH) do + # Clone the satellite + `git clone --quiet #{REPO_PATH}/gitlabhq #{SATELLITE_PATH}/gitlabhq` +end puts ' done.' -- cgit v1.2.1 From 489fa5d72631505873b8c33f3a2bbd5919330a92 Mon Sep 17 00:00:00 2001 From: Izaak Alpert Date: Mon, 3 Jun 2013 16:20:50 -0400 Subject: MR on Fork multiple fixes -Disable observers post test run -Allow db:seed_fu RAILS_ENV=test to be run more than once without error -fix diffs_in_between, was passing in the default_options for grit, but grit in this case doesn't take options, fixed the test to actually fail if the incorrect diffs are returned -make notes/commits render against proper project -MR discussion file links should reference note's project -Added tests for commit links on edit merge request -fixes edit issues (canceling an edited mr, updating an edited mr) -updates tests with checks for source code updates -still forked_merge_requests.feature (project_forked_merge_requests) test not passing (commented out -- "stable" not being set) MR API: error on bad target_project -If the target project id is specified and it is not the same as the project the request is being made on (the source), and the it isn't a fork of that project, error out, otherwise use it as the target -Fixes some busted (but hidden) test cases Conflicts: app/views/merge_requests/show/_diffs.html.haml spec/features/notes_on_merge_requests_spec.rb Change-Id: I20e595c156d0e8a63048baaead7be6330c738a05 --- db/fixtures/test/001_repo.rb | 3 +++ 1 file changed, 3 insertions(+) (limited to 'db/fixtures') diff --git a/db/fixtures/test/001_repo.rb b/db/fixtures/test/001_repo.rb index 59fd2fde124..281e3476df1 100644 --- a/db/fixtures/test/001_repo.rb +++ b/db/fixtures/test/001_repo.rb @@ -25,9 +25,12 @@ print "Creating seed satellite..." SATELLITE_PATH = Rails.root.join('tmp', 'satellite') # Make directory FileUtils.mkdir_p(SATELLITE_PATH) +# Clear any potential directory +FileUtils.rm_rf("#{SATELLITE_PATH}/gitlabhq") # Chdir, clone from the seed FileUtils.cd(SATELLITE_PATH) do # Clone the satellite + `git clone --quiet #{REPO_PATH}/gitlabhq #{SATELLITE_PATH}/gitlabhq` end puts ' done.' -- cgit v1.2.1