- 15 9月, 2016 1 次提交
-
-
由 Timothy Andrew 提交于
1. These changes bring down page load time for 100 issues from more than a minute to about 1.5 seconds. 2. This entire commit is composed of these types of performance enhancements: - Cache relevant data in `IssueMetrics` wherever possible. - Cache relevant data in `MergeRequestMetrics` wherever possible. - Preload metrics 3. Given these improvements, we now only need to make 4 SQL calls: - Load all issues - Load all merge requests - Load all metrics for the issues - Load all metrics for the merge requests 4. A list of all the data points that are now being pre-calculated: a. The first time an issue is mentioned in a commit - In `GitPushService`, find all issues mentioned by the given commit using `ReferenceExtractor`. Set the `first_mentioned_in_commit_at` flag for each of them. - There seems to be a (pre-existing) bug here - files (and therefore commits) created using the Web CI don't have cross-references created, and issues are not closed even when the commit title is "Fixes #xx". b. The first time a merge request is deployed to production When a `Deployment` is created, find all merge requests that were merged in before the deployment, and set the `first_deployed_to_production_at` flag for each of them. c. The start / end time for a merge request pipeline Hook into the `Pipeline` state machine. When the `status` moves to `running`, find the merge requests whose tip commit matches the pipeline, and record the `latest_build_started_at` time for each of them. When the `status` moves to `success`, record the `latest_build_finished_at` time. d. The merge requests that close an issue - This was a big cause of the performance problems we were having with Cycle Analytics. We need to use `ReferenceExtractor` to make this calculation, which is slow when we have to run it on a large number of merge requests. - When a merge request is created, updated, or refreshed, find the issues it closes, and create an instance of `MergeRequestsClosingIssues`, which acts as a join model between merge requests and issues. - If a `MergeRequestsClosingIssues` instance links a merge request and an issue, that issue closes that merge request. 5. The `Queries` module was changed into a class, so we can cache the results of `issues` and `merge_requests_closing_issues` across various cycle analytics stages. 6. The code added in this commit is untested. Tests will be added in the next commit.
-
- 02 9月, 2016 1 次提交
-
-
由 Luke Howell 提交于
- Added an extra new line to the prepend of the Close message Fixes #21710
-
- 01 9月, 2016 1 次提交
-
-
由 Felipe Artur 提交于
-
- 30 8月, 2016 3 次提交
-
-
由 Sean McGivern 提交于
-
由 Katarzyna Kobierska 提交于
Add test for closed MR without fork Add view test visibility of Reopen and Close buttons Fix controller tests and validation method Fix missing space Remove unused variables from test closed_without_fork? method refactoring Add information about missing fork When closed MR without fork can't edit target branch Tests for closed MR edit view Fix indentation and rebase, refactoring
-
由 Sean McGivern 提交于
Forks may not be up-to-date with the target project, and so might not contain one of the parent refs in their repo. Fetch this if it isn't present.
-
- 18 8月, 2016 1 次提交
-
-
由 Douwe Maan 提交于
-
- 17 8月, 2016 1 次提交
-
-
由 Douwe Maan 提交于
-
- 15 8月, 2016 2 次提交
-
-
由 Nick Thomas 提交于
-
由 Nick Thomas 提交于
-
- 13 8月, 2016 4 次提交
-
-
由 Douwe Maan 提交于
-
由 Rémy Coutable 提交于
Signed-off-by: NRémy Coutable <remy@rymai.me>
-
由 Rémy Coutable 提交于
Some important things to note: - commands are removed from noteable.description / note.note - commands are translated to params so that they are treated as normal params in noteable Creation services - the logic is not in the models but in the Creation services, which is the right place for advanced logic that has nothing to do with what models should be responsible of! - UI/JS needs to be updated to handle notes which consist of commands only - the `/merge` command is not handled yet Other improvements: - Don't process commands in commit notes and display a flash is note is only commands - Add autocomplete for slash commands - Add description and params to slash command DSL methods - Ensure replying by email with a commands-only note works - Use :subscription_event instead of calling noteable.subscribe - Support :todo_event in IssuableBaseService Signed-off-by: NRémy Coutable <remy@rymai.me>
-
由 Sean McGivern 提交于
-
- 12 8月, 2016 1 次提交
-
-
由 Scott Le 提交于
DRY code + fix rubocop Add more test cases Append to changelog DRY changes list find_url service for merge_requests use GET for getting merge request links remove files rename to get_url_service reduce loop add test case for cross project refactor tiny thing update changelog
-
- 03 8月, 2016 4 次提交
-
-
由 Paco Guzman 提交于
So we have raw_diffs too
-
由 Paco Guzman 提交于
This object will manage Gitlab::Git::Compare instances
-
由 Paco Guzman 提交于
Instead calling diff_collection.count use diff_collection.size which is cache on the diff_collection
-
由 Paco Guzman 提交于
Introducing the concept of SafeDiffs which relates diffs with UI highlighting.
-
- 02 8月, 2016 2 次提交
-
-
由 Dmitriy Zaporozhets 提交于
Signed-off-by: NDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-
由 Dmitriy Zaporozhets 提交于
Signed-off-by: NDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-
- 01 8月, 2016 1 次提交
-
-
由 Ben Boeckel 提交于
-
- 30 7月, 2016 1 次提交
-
-
由 Stan Hu 提交于
If somehow a user attempted to accept a merge request that had conflicts (e.g. the "Accept Merge Request" button or the MR itself was not updated), `MergeService` did not properly detect that a conflict occurred. It would assume that the MR went through without any issues and close the MR as though everything was fine. This could cause data loss if the source branch were removed. Closes #20425
-
- 29 7月, 2016 2 次提交
-
-
由 Douwe Maan 提交于
-
由 Douwe Maan 提交于
-
- 18 7月, 2016 1 次提交
-
-
由 Rémy Coutable 提交于
This reverts commit 530f5158. See !4892. Signed-off-by: NRémy Coutable <remy@rymai.me>
-
- 14 7月, 2016 1 次提交
-
-
由 Robert Speicher 提交于
This reverts commit 9ca633eb, reversing changes made to fb229bbf.
-
- 13 7月, 2016 2 次提交
-
-
由 Timothy Andrew 提交于
- https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4892#note_12892160 - This is more consistent.
-
由 Timothy Andrew 提交于
1. When a merge request is being merged, save the merge commit SHA in the `in_progress_merge_commit_sha` database column. 2. The `pre-receive` hook looks for any locked (in progress) merge request with `in_progress_merge_commit_sha` matching the `newrev` it is passed. 3. If it finds a matching MR, the merge is legitimate. 4. Update `git_access_spec` to test the behaviour we added here. Also refactored this spec a bit to make it easier to add more contexts / conditions.
-
- 08 7月, 2016 1 次提交
-
-
由 Grzegorz Bizon 提交于
-
- 07 7月, 2016 3 次提交
-
-
由 Douwe Maan 提交于
-
由 Douwe Maan 提交于
-
由 Valery Sizov 提交于
-
- 05 7月, 2016 1 次提交
-
-
由 Valery Sizov 提交于
-
- 02 7月, 2016 1 次提交
-
-
由 Grzegorz Bizon 提交于
-
- 22 6月, 2016 1 次提交
-
-
由 Sean McGivern 提交于
Rails's form helpers use the `$attr_before_type_cast` method where available, and this value only appears to be updated on assignment, not when the object is mutated in some other way: [1] pry(main)> mr = MergeRequest.new => #<MergeRequest:0x007fcf28395d88 ...> [2] pry(main)> mr.description = 'foo' => "foo" [3] pry(main)> mr.description << ' bar' => "foo bar" [4] pry(main)> mr.description => "foo bar" [5] pry(main)> mr.description_before_type_cast => "foo" [6] pry(main)> mr.description += ' bar' => "foo bar bar" [7] pry(main)> mr.description_before_type_cast => "foo bar bar"
-
- 03 6月, 2016 3 次提交
-
-
由 Kamil Trzcinski 提交于
-
由 James Lopez 提交于
This reverts commit 3e991230.
-
由 James Lopez 提交于
# Conflicts: # app/models/project.rb
-
- 02 6月, 2016 1 次提交
-
-
由 Kamil Trzcinski 提交于
-