summaryrefslogtreecommitdiff
path: root/app/models
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'fix-namespace-deletion' into 'master' Robert Speicher2016-08-121-0/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix bug where destroying a namespace would not always destroy projects There is a race condition in DestroyGroupService now that projects are deleted asynchronously: 1. User attempts to delete group 2. DestroyGroupService iterates through all projects and schedules a Sidekiq job to delete each Project 3. DestroyGroupService destroys the Group, leaving all its projects without a namespace 4. Projects::DestroyService runs later but the can?(current_user, :remove_project) is `false` because the user no longer has permission to destroy projects with no namespace. 5. This leaves the project in pending_delete state with no namespace/group. Projects without a namespace or group also adds another problem: it's not possible to destroy the container registry tags, since `container_registry_path_with_namespace` is the wrong value. The fix is to destroy the group asynchronously and run `execute` directly on Projects::DestroyService. Closes #17893 See merge request !4341
| * Fix bug where destroying a namespace would not always destroy projectsStan Hu2016-08-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a race condition in DestroyGroupService now that projects are deleted asynchronously: 1. User attempts to delete group 2. DestroyGroupService iterates through all projects and schedules a Sidekiq job to delete each Project 3. DestroyGroupService destroys the Group, leaving all its projects without a namespace 4. Projects::DestroyService runs later but the can?(current_user, :remove_project) is `false` because the user no longer has permission to destroy projects with no namespace. 5. This leaves the project in pending_delete state with no namespace/group. Projects without a namespace or group also adds another problem: it's not possible to destroy the container registry tags, since container_registry_path_with_namespace is the wrong value. The fix is to destroy the group asynchronously and to run execute directly on Projects::DestroyService. Closes #17893
* | Merge branch 'improve-pipeline-processing' into 'master' Rémy Coutable2016-08-123-43/+89
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve pipeline processing ## What does this MR do? This works on top of https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5295 trying to solve some edge cases introduced by that Merge Request. The fix switches to a state machine which is already a part of `Ci::Pipeline` and uses events with conditional transitions to switch between pipeline states. This is approach is much more bullet proof and much easier to understand than a previous one where we were calling a `reload_status!` which manually updated `status`. Previous approach become confusing and prone to number of errors. ## Why was this MR needed? This improves changes introduced by https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5295 ## What are the relevant issue numbers? None, yet. ## Screenshots (if relevant) Not needed. ## Does this MR meet the acceptance criteria? - [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added (not needed since changelog for https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5295 is already introduced) - [ ] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md) - [x] API support added (not needed) - Tests - [x] Added for this feature/bug (most of tests do cover the triggering of Pipeline) - [ ] All builds are passing - [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [x] Branch has no merge conflicts with `master` (if you do - rebase it please) - [ ] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) See merge request !5782
| * | Improve transition between states for event `enqueue`Kamil Trzcinski2016-08-121-1/+1
| | |
| * | Use event `enqueue` instead of `queue`Kamil Trzcinski2016-08-123-16/+10
| | |
| * | Fix test failuresKamil Trzcinski2016-08-121-1/+1
| | |
| * | Added specs for started_at and finished_atKamil Trzcinski2016-08-121-7/+8
| | |
| * | Use explicit events to transition between statesKamil Trzcinski2016-08-122-13/+33
| | |
| * | Merge remote-tracking branch 'origin/master' into improve-pipeline-processingKamil Trzcinski2016-08-121-0/+1
| |\ \ | | |/
| * | Fix test failures, that did occur because of missing previously used ↵Kamil Trzcinski2016-08-112-28/+27
| | | | | | | | | | | | `reload_status!` call
| * | Use state machine for pipeline event processingKamil Trzcinski2016-08-112-22/+47
| | |
| * | Verify the pipeline status after executing events on buildsKamil Trzcinski2016-08-112-1/+8
| | |
* | | Merge branch 'remove-unused-spam-report' into 'master' Robert Speicher2016-08-111-5/+0
|\ \ \ | |_|/ |/| | | | | | | | Remove unused SpamReport model; this was renamed to SpamLog See merge request !5778
| * | Remove unused SpamReport model; this was renamed to SpamLogremove-unused-spam-reportStan Hu2016-08-111-5/+0
| | |
* | | api for generating new merge requestScott Le2016-08-111-0/+1
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge branch 'refactor-builds-creation-service' into 'master' Rémy Coutable2016-08-114-86/+72
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor pipeline creation service ## What does this MR do? This refactors GitLab CI build processing: all builds for pipeline are pre-created when a pipeline object is created. The builds are created with a new introduced status `created`. The builds are then automatically promoted to `pending` when a previous stage do succeed. This significantly simplifies pipeline processing code solving a lot of problems of lazily initialisation of previous approach (builds were created on-demand). ## Why was this MR needed? The previous mechanism had a lot of flows (shown in related issues) in how it work, but also in code design. Removing cross model-service-library dependencies. The current approach moves a build creation to single place `CreatePipelineService` and removes a dynamic dependency on `config_processor` significantly simplifying a build creation and pipeline processing. Pipeline processing is implemented in `ProcessPipelineService`. This also allows to easily extend GitLab with Manual Actions which is part of 8.10 direction issue. ## Migration problem ~~This MR removes the a on-demand creation of builds in pipelines. Pipelines that are running and are in mid-stage (some stages started, but not all) will not be fully evaluated after application restart. This happens, because the code responsible for on-demand creation is removed. There's no easy way to migrate existing pipelines, other than doing offline migration and putting pipeline processing in migration code (which seems to be a really bad idea).~~ To support old pipelines I added a lazy initialization of builds if none is found. ## What are the relevant issue numbers? Fixes: https://gitlab.com/gitlab-org/gitlab-ce/issues/12839 Solves: https://gitlab.com/gitlab-org/gitlab-ce/issues/18644 https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues/289 Allows to easily implement: https://gitlab.com/gitlab-org/gitlab-ce/issues/17010 ## Does this MR meet the acceptance criteria? - [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added - [x] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md) - [x] API support added - Tests - [x] Added for this feature/bug - [ ] All builds are passing - [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [x] Branch has no merge conflicts with `master` (if you do - rebase it please) - [ ] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) See merge request !5295
| * | Pre-create all builds for Pipeline when a trigger is receivedKamil Trzcinski2016-08-114-86/+72
| |/ | | | | | | | | | | | | | | | | | | | | This change simplifies a Pipeline processing by introducing a special new status: created. This status is used for all builds that are created for a pipeline. We are then processing next stages and queueing some of the builds (created -> pending) or skipping them (created -> skipped). This makes it possible to simplify and solve a few ordering problems with how previously builds were scheduled. This also allows us to visualise a full pipeline (with created builds). This also removes an after_touch used for updating a pipeline state parameters. Right now in various places we explicitly call a reload_status! on pipeline to force it to be updated and saved.
* | Merge branch '18583-implement-access-request-to-project-group-api' into ↵Rémy Coutable2016-08-112-0/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'master' Add group members API endpoints to request access and approve requests ## What does this MR do? Add group members API endpoints to request access and approve requests. ## Are there points in the code the reviewer needs to double check? I chose to factorize the group/project members API as well as the new group/project access requests API. I initially also created new services to centralize the permission checks related to actions on members, but this was out of scope and this MR is already quite big so I opened a temp MR at !5566 based on this one. ## Why was this MR needed? To finish the "request access" feature. ## What are the relevant issue numbers? Closes #18583. ## Does this MR meet the acceptance criteria? - [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added - [x] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md) - [x] API support added - Tests - [x] Added for this feature/bug - [x] All builds are passing - [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [x] Branch has no merge conflicts with `master` (if you do - rebase it please) - [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) See merge request !4833
| * | New AccessRequests API endpoints for Group & ProjectRémy Coutable2016-08-102-0/+5
| |/ | | | | | | | | | | | | | | Also, mutualize AccessRequests and Members endpoints for Group & Project. New API documentation for the AccessRequests endpoints. Signed-off-by: Rémy Coutable <remy@rymai.me>
* | Merge branch '13333-consider-updating-http-parser-rb-to-0-6-0' into 'master' Rémy Coutable2016-08-111-7/+44
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace the tinder gem by bare HTTP requests ## What does this MR do? It removes the `tinder` gem (used to talk to the Campfire API) and replaces its use by bare HTTP requests. ## Are there points in the code the reviewer needs to double check? N/A. ## Why was this MR needed? To simplify the potential dependency hell discussed in #13333. The initial issue was about updating `http_parser.rb` which was required by `twitter-stream` which was required by `tinder`. Those 3 gems are not needed anymore. ## What are the relevant issue numbers? #13333 ## Screenshots (if relevant) N/A. ## Does this MR meet the acceptance criteria? - [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added - [x] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md) - Tests - [x] Added for this feature/bug - [x] All builds are passing - [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [x] Branch has no merge conflicts with `master` (if you do - rebase it please) - [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) Closes #13333 See merge request !5758
| * Replace the tinder gem by bare HTTP requestsThomas Balthazar2016-08-111-7/+44
| |
* | Merge branch 'decouple-secret-keys' into 'master' Douwe Maan2016-08-101-2/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Store OTP secret key in secrets.yml ## What does this MR do? Migrate the value of `.secret` to `config/secrets.yml` if present, so that `.secret` can be rotated without preventing all users with 2FA from logging in. (On a clean setup, generate different keys for each.) ## Are there points in the code the reviewer needs to double check? I'm not sure we actually need `.secret` at all after this, but it seems safer not to touch it. ## Why was this MR needed? We have some DB encryption keys in `config/secrets.yml`, and one in `.secret`. They should all be in the same place. ## What are the relevant issue numbers? #3963, which isn't closed until I make the relevant changes in Omnibus too. ## Does this MR meet the acceptance criteria? - [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added - [x] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md) - ~~API support added~~ - Tests - [x] Added for this feature/bug - [x] All builds are passing - [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [x] Branch has no merge conflicts with `master` (if you do - rebase it please) - [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) See merge request !5274
| * | Store OTP secret key in secrets.ymlSean McGivern2016-08-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | .secret stores the secret token used for both encrypting login cookies and for encrypting stored OTP secrets. We can't rotate this, because that would invalidate all existing OTP secrets. If the secret token is present in the .secret file or an environment variable, save it as otp_key_base in secrets.yml. Now .secret can be rotated without invalidating OTP secrets. If the secret token isn't present (initial setup), then just generate a separate otp_key_base and save in secrets.yml. Update the docs to reflect that secrets.yml needs to be retained past upgrades, but .secret doesn't.
* | | Clean up project destructionclean-up-project-destroyStan Hu2016-08-101-10/+0
| | | | | | | | | | | | | | | | | | Instead of redirecting from the project service to the service and back to the model, put all destruction code in the service. Also removes a possible source of failure where run_after_commit may not destroy the project.
* | | Add a method in Project to return a cached value of total count of projectsStan Hu2016-08-091-0/+6
| |/ |/| | | | | | | This is in preparation to address the DB load caused by the counting in gitlab-com/infrastructure#303.
* | Update version_sorter and use new interface for faster tag sortingAlejandro Rodríguez2016-08-081-3/+1
| |
* | Merge branch 'rubocop/SpaceAroundEqualsInParameterDefault' into 'master' Douwe Maan2016-08-082-2/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable Style/SpaceAroundEqualsInParameterDefault cop ## What does this MR do? Enable a new rubocop cops as discussed here: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/1877#note_13529646 ## Are there points in the code the reviewer needs to double check? May be a good idea to send a message to people to prevent master red because of the new cop. ## Why was this MR needed? We want to improve code style and not waste endbosses time checking style manually ## What are the relevant issue numbers? ## Screenshots (if relevant) ## Does this MR meet the acceptance criteria? - [ ] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added - [ ] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md) - [ ] API support added - Tests - [ ] Added for this feature/bug - [ ] All builds are passing - [ ] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [ ] Branch has no merge conflicts with `master` (if you do - rebase it please) - [ ] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) See merge request !5693
| * | Enable Style/SpaceAroundEqualsInParameterDefault coprubocop/SpaceAroundEqualsInParameterDefaultGabriel Mazetto2016-08-062-2/+2
| | |
* | | Merge branch 'faster-cache-keys' into 'master' Rémy Coutable2016-08-083-0/+18
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Optimize "cache_key" using a concern ## What does this MR do? This MR adds a concern (used by Issue and Note) that provides an optimized version of Rails' `cache_key` method. See 77c8520e2ecd70520757aed0fbdf434643b60234 for more details. ## Are there points in the code the reviewer needs to double check? No, though a spell check would be appreciated. ## Why was this MR needed? When loading a lot of data from Redis (e.g. an issue with lots of notes) quite a large amount of time is spent in generating cache keys. This is due to multiple reasons such as: * Rails trying to figure out if it should use `updated_at` or `updated_on` using somewhat inefficient code * Rails relying on pluralization logic to figure out how to generate a cache namespace using a model name * Rails calling a whole bunch of methods in general in the process of generating cache keys In short, Rails is trying to cater to every possible use case, at the cost of performance. ## What are the relevant issue numbers? https://gitlab.com/gitlab-org/gitlab-ce/issues/13651 is not directly related but I ran into this `cache_key` problem when looking into said issue. See merge request !5715
| * | | Added concern for a faster "cache_key" methodfaster-cache-keysYorick Peterse2016-08-083-0/+18
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This concern provides an optimized/simplified version of the "cache_key" method. This method is about 9 times faster than the default "cache_key" method. The produced cache keys _are_ different from the previous ones but this is worth the performance improvement. To showcase this I set up a benchmark (using benchmark-ips) that compares FasterCacheKeys#cache_key with the regular cache_key. The output of this benchmark was: Calculating ------------------------------------- cache_key 4.825k i/100ms cache_key_fast 21.723k i/100ms ------------------------------------------------- cache_key 59.422k (± 7.2%) i/s - 299.150k cache_key_fast 543.243k (± 9.2%) i/s - 2.694M Comparison: cache_key_fast: 543243.4 i/s cache_key: 59422.0 i/s - 9.14x slower To see the impact on real code I applied these changes and benchmarked Issue#referenced_merge_requests. For an issue referencing 10 merge requests these changes shaved off between 40 and 60 milliseconds.
* | | Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ceDmitriy Zaporozhets2016-08-081-0/+4
|\ \ \ | |/ /
| * | Move abilities by subject class to a dedicated method20621-avoid-lame-conflicts-in-ability-allowedRémy Coutable2016-08-041-0/+4
| | | | | | | | | | | | | | | | | | This will avoid lame conflicts when merging CE to EE Signed-off-by: Rémy Coutable <remy@rymai.me>
* | | Merge branch ↵Douwe Maan2016-08-051-0/+11
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | '14898-protected-branches-developer-can-not-push-without-permission' into 'master' Developer cannot push to protected branch when project is empty or he has not been granted permission to do so This MR was created following !1979 and !1978 Closes #14898 See merge request !1980
| * | changes default_branch_protection to allow devs_can_merge protection option ↵tiagonbotelho2016-08-041-9/+4
| | | | | | | | | | | | aswell
| * | developer cannot push to protected branch when project is empty or he has ↵tiagonbotelho2016-08-021-0/+16
| | | | | | | | | | | | not been granted permission to do so
* | | Merge branch ↵Rémy Coutable2016-08-042-4/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | '20512-fix-rename-add-users-into-project-to-add-users-to-project-and-projects-ids-to-project-ids' into 'master' Fix Rename `add_users_into_project` and `projects_ids` ## What does this MR do? Only modifies the name of a method that leaves more semantic and expressive and the name of the keywords arguments to the rails convention. ## Are there points in the code the reviewer needs to double check? Only if it has been changed at every point that is calling this method and that passing arguments. ## Why was this MR needed? To make the code more expressive. ## What are the relevant issue numbers? Closes #20512. - [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added - Tests - [x] All builds are passing - [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [x] Branch has no merge conflicts with `master` (if you do - rebase it please) - [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) See merge request !5659
| * | | Fix Rename `add_users_into_project` and `projects_ids`Herminio Torres2016-08-042-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | We never add things `into` projects, we just add them `to` projects. So how about we rename this to `add_users_to_project`. Rename `projects_ids` to `project_ids` by following the convention of rails.
* | | | Merge branch 'fix/ha-mode-import-issue' into 'master' Rémy Coutable2016-08-041-5/+0
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix Import/Export not working in HA mode Use a shared path instead of `Tempfile` default `/tmp` so the import file is accessible by any GitLab instance. Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/20506 - [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added - Tests - [x] All builds are passing - [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [x] Branch has no merge conflicts with `master` (if you do - rebase it please) - [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) See merge request !5618
| * | | using shared path for project import uploads and refactored gitlab remove ↵James Lopez2016-08-041-5/+0
| |/ / | | | | | | | | | export worker
* | | change the API on the merge_request_diff model from diffs -> raw_diffsuse-raw-diffs-for-merge-request-diffsPaco Guzman2016-08-032-6/+6
| | |
* | | Use only deltas in diffs when scanning the last commit for changes in the ↵Stan Hu2016-08-031-1/+1
| | | | | | | | | | | | avatar to save memory
* | | Speed up Commit#repo_changesAhmad Sherif2016-08-031-1/+1
| | |
* | | Make Compare#diffs diff_options a regular argumentDouwe Maan2016-08-032-2/+2
| | |
* | | switch from diff_file_collection to diffs20034-safe-diffsPaco Guzman2016-08-035-28/+32
| | | | | | | | | | | | So we have raw_diffs too
* | | Introduce Compare model in the codebase.Paco Guzman2016-08-033-5/+52
| | | | | | | | | This object will manage Gitlab::Git::Compare instances
* | | Move to Gitlab::Diff::FileCollectionPaco Guzman2016-08-038-132/+31
| | | | | | | | | Instead calling diff_collection.count use diff_collection.size which is cache on the diff_collection
* | | Cache highlighted diff lines for merge requestsPaco Guzman2016-08-036-0/+134
| |/ |/| | | | | Introducing the concept of SafeDiffs which relates diffs with UI highlighting.
* | Merge branch '18866-add-simple-identifier-to-public-ssh-keys' into 'master' Douwe Maan2016-08-021-2/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add simple identifier to public SSH keys ## What does this MR do? Adds a simple identifier of user_name + hostname to public SSH keys ## Are there points in the code the reviewer needs to double check? ## Why was this MR needed? To help people identify keys when they export them ## What are the relevant issue numbers? #18866 ## Screenshots (if relevant) ## Does this MR meet the acceptance criteria? - [ x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added - [ -] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md) - [ -] API support added - Tests - [ x] Added for this feature/bug - [ x] All builds are passing - [ x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [ x] Branch has no merge conflicts with `master` (if you do - rebase it please) - [ x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) Closes #18866 See merge request !5614
| * | Add simple identifier to public SSH keysKeith Pope2016-08-021-2/+3
| | |
* | | Expand commit message width in repo viewClement Ho2016-08-021-6/+8
| | |