summaryrefslogtreecommitdiff
path: root/app/models
Commit message (Collapse)AuthorAgeFilesLines
* Add a `Blob` model that wraps `Gitlab::Git::Blob`rs-blobRobert Speicher2016-02-181-0/+34
| | | | | | | | | | | This allows us to take advantage of Rails' `to_partial_path` to render the correct partial based on the Blob type, rather than cluttering the view with conditionals. It also allows (and will allow in the future) better encapsulation for Blob-related logic which makes sense for our Rails app but might not make as much sense for the core `gitlab_git` library, such as detecting if the blob is an SVG.
* Handle raw_repository returning nil in exists?autocrlf-lazyYorick Peterse2016-02-181-0/+2
| | | | | | If path_with_namespace is nil Repository#raw_repository will also return nil. Apparently code out there creates a Repository instance without a namespace path. Right.
* Use Repository#exists? in Repository#commit?Yorick Peterse2016-02-181-1/+1
| | | | | Just checking raw_repository is no longer accurate to determine if a repository exists or not.
* Fixed Repository#exists? to handle errorsYorick Peterse2016-02-181-6/+5
| | | | | | | | | | | | | Now that Repository#raw_repository no longer sets the autocrlf option it will also no longer raise any NoRepository errors since it doesn't access Rugged any more. This also means that Repository#exists? can't simply return the raw repository as this is no indication of whether or not the repository actually exists (besides returning a non boolean is weird in the first place). To solve this problem Repository#exists? now properly checks if the repository exists and returns true/false instead of a Gitlab::Git::Repository or nil object.
* Only set autocrlf when creating/updating filesYorick Peterse2016-02-181-3/+7
| | | | | | | | | | | | | Setting the "autocrlf" Git option is an overkill since it's rarely actually needed. More importantly, it has quite the impact on performance (see gitlab-org/gitlab-ce#13457 for more information). By setting "autocrlf" when creating or updating files we guarantee the option is always set properly when we actually need it _without_ introducing overhead for requests that have nothing to do with this option. Fixes gitlab-org/gitlab-ce#13457
* Reopened MRs should also be considered as open.issue_13539Rubén Dávila2016-02-171-1/+1
|
* Merge branch 'see-and-sort-on-vote-count-mr-issues' into 'master' Douwe Maan2016-02-171-0/+25
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add ability to see and sort on vote count from Issues and MR lists Fixes #3763 * Sort options ![Sort Options](/uploads/df6543d574d4df8bf7e4496a876e2930/sort.png) * Most popular ![Most popular](/uploads/bb92cc2fbef7b6b806dcdf8c52778fdd/most-popular.png) * Least popular ![Least popular](/uploads/7988ed451922c81dc228419b5edbd7cd/least-popular.png) See merge request !2781
| * Add ability to see and sort on vote count from Issues and MR listssee-and-sort-on-vote-count-mr-issuesDouglas Barbosa Alexandre2016-02-171-0/+25
| |
* | Merge branch 'fix/13367-redirect-to-project-page-if-no-import' into 'master' Douwe Maan2016-02-171-0/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | Redirect /import to project page if no importing at all and repo exists Fixes gitlab-org/gitlab-ce#13367. See merge request !2857
| * | Redirect /import to project page if no importing at all and repo existsfix/13367-redirect-to-project-page-if-no-importRémy Coutable2016-02-171-0/+4
| |/ | | | | | | Fixes #13367.
* | Merge branch 'expire-fork-import-caches' into 'master' Douwe Maan2016-02-171-0/+17
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | Expire caches after forking/importing a repository cc @dblessing @DouweM Related issue: gitlab-org/gitlab-ce#13505 See merge request !2838
| * | Flush all repository caches when deleting a repoexpire-fork-import-cachesYorick Peterse2016-02-171-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | This ensures that _all_ caches (including any caches normally only flushed under certain conditions) are flushed whenever a project is removed. Because cache keys are based on project namespaces (excluding IDs) not doing so could result in a newly created project re-using old caches (if the project was re-created using the same name).
| * | Expire caches after forking/importing a repositoryYorick Peterse2016-02-171-0/+8
| |/ | | | | | | | | | | | | | | This ensures the caches for Repository#empty? and Repository#has_visible_content? are flushed after a repository has been imported or forked. Fixes gitlab-org/gitlab-ce#13505
* | Merge branch 'klowner/gitlab-ce-fix-compare-by-tag-crash' into 'master' Douwe Maan2016-02-171-0/+2
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | Fix 500 error when comparing by tags _Originally opened at !2787 by @klowner._ - - - Fixes #13171. Fixes #13370. See merge request !2849
| * Fix 500 error when comparing by tagsMark Riedesel2016-02-171-0/+2
| |
* | Merge branch 'bugagazavr/gitlab-ce-extend-hooks' into 'master' Douwe Maan2016-02-163-11/+17
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new data to project in push, issue, merge-request and note webhooks data _Originally opened at !2738 by @bugagazavr._ - - - **What does this MR do?** Adds more data to hooks, makes repository data in all hook more dry ( use one hook_attrs method for repository data in all hooks ) **Are there points in the code the reviewer needs to double check?** 1. https://gitlab.com/bugagazavr/gitlab-ce/blob/extend-hooks/app/models/project.rb#L738 2. https://gitlab.com/bugagazavr/gitlab-ce/blob/extend-hooks/app/models/concerns/issuable.rb#L132 3. https://gitlab.com/bugagazavr/gitlab-ce/blob/extend-hooks/lib/gitlab/push_data_builder.rb#L52 4. https://gitlab.com/bugagazavr/gitlab-ce/blob/extend-hooks/lib/gitlab/note_data_builder.rb#L56 **Why was this MR needed?** More information about user for push events, and more data about repositiry ( project ) **What are the relevant issue numbers?** No **Screenshots (if relevant)** No See merge request !2788
| * | Use project.web_url instead deprecated repository.homepage in PushoverServiceRémy Coutable2016-02-161-1/+1
| | |
| * | Add new data to project in push, issue, merge-request and note webhooks databugagazavr/gitlab-ce-extend-hooksKirill Zaitsev2016-02-112-10/+16
| |/ | | | | | | | | | | | | | | | | | | | | - Add `avatar_url`, `description`, `git_ssh_url`, `git_http_url`, `path_with_namespace` and `default_branch` in `project` in push, issue, merge-request and note webhooks data - Deprecate the `ssh_url` in favor of `git_ssh_url` and `http_url` in favor of `git_http_url` in `project` for push, issue, merge-request and note webhooks data - Deprecate the `repository` key in push, issue, merge-request and note webhooks data, use `project` instead
* | Cleaned up Repository#initializecleanup-repository-initializeYorick Peterse2016-02-163-3/+3
| | | | | | | | | | The "default_branch" argument is never used and the "project" argument isn't optional.
* | Merge branch 'fix_500-commit-null' into 'master' Douwe Maan2016-02-121-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | Don't try to mark broken MR as mergable In case merge request is broken, we shouldn't check if the sha is mergable, as it will be null, and there's no point, as we know that it's not mergable. See merge request !2783
| * | Don't try to mark broken MR as mergableNemanja Boric2016-02-111-1/+1
| |/ | | | | | | | | | | In case merge request is broken, we shouldn't check if the sha is mergable, as it will be null, and there's no point, as we know that it's not mergable.
* | Merge branch 'streamline-email-validation' into 'master' Douwe Maan2016-02-124-9/+5
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | Validate email addresses using Devise.email_regexp Also: - Get rid of legacy `:strict_mode` - Get rid of custom `:email` validator - Add some shared examples to spec emails validation This supersedes !2754 and fixes #3851. See merge request !2771
| * Re-add EmailValidator to avoid the repetition of format: { with: ↵streamline-email-validationRémy Coutable2016-02-094-6/+5
| | | | | | | | Devise.email_regexp }
| * Validate email addresses using Devise.email_regexpRémy Coutable2016-02-094-10/+7
| | | | | | | | | | | | | | Also: - Get rid of legacy :strict_mode - Get rid of custom :email validator - Add some shared examples to spec emails validation
* | Merge branch 'display-mr-link-if-thre-is-one' into 'master' Douglas Barbosa Alexandre2016-02-101-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replaces "Create merge request" link with one to the MR when one exists Fixes #3716 * Without MR: ![before-1](/uploads/abcb2eb5bb5927a83c2f1700528f852c/before-1.png) * With MR: ![after-1](/uploads/9020b871e1aa08d3e5a45359336ef0f2/after-1.png) * Without MR: ![before-2](/uploads/bb3bd1a74efc193ad31af68f1e04ef5f/before-2.png) * With MR: ![after-2](/uploads/789d32aef12f39c605e665d0c4bc9fbe/after-2.png) * Without MR: ![before-3](/uploads/a9aff7a11eb1069be24c37a5455be809/before-3.png) * With MR: ![after-3](/uploads/48fe81ea50657fe5b2de0d25260d8e4b/after-3.png) See merge request !2670
| * | Replaces "Create merge request" link with one to the MR when one existsDouglas Barbosa Alexandre2016-02-101-0/+1
| | |
* | | Merge branch 'brammeleman/3047-add-assignee-data-to-isuable-hook-data' into ↵Robert Speicher2016-02-101-1/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'master' Add assignee data to Issuables' hook_data Originally opened at !1633 by @brammeleman. Fixes #3047. Fixes #2475. See merge request !2724
| * | | Add assignee data to Issuables' hook_databrammeleman/3047-add-assignee-data-to-isuable-hook-dataBram Daams2016-02-101-1/+4
| |/ /
* | | Merge branch 'cwq1913/gitlab-ce-fix_skip_merge_commits' into 'master' Robert Speicher2016-02-101-1/+2
|\ \ \ | |/ / |/| | | | | | | | | | | | | | Actually use the `skip_merges` option in Repository#commits Originally opened at !2067 by @cwq1913. See merge request !2750
| * | Actually use the `skip_merges` option in Repository#commitscwq1913/gitlab-ce-fix_skip_merge_commitsTony Chu2016-02-081-1/+2
| | |
* | | Merge branch 'smarter-diverging-commit-cache-flushing' into 'master' Douwe Maan2016-02-091-11/+14
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Smarter flushing of branch statistics caches This basically ensures we only flush caches of branches whenever we really have to. See commit c514f8b850219cd3e5526e73e1d00e6729e2b466 for the details. cc @joshfng @rspeicher See merge request !2769
| * | | Smarter flushing of branch statistics cachesYorick Peterse2016-02-091-11/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of flushing the behind/ahead counts for all branches upon every push we now only flush the cache of branches that actually need to have these statistics recalculated. There are now basically 2 scenarios and their effects: 1. A user pushes a commit to the default branch, this results in the cache being flushed for all branches. 2. A user pushes to a non default branch, this results in _only_ the cache for that branch being flushed. The existing code (Repository#expire_cache) remains backwards compatible with the previous behaviour, the new behaviour is only applied when a branch name is passed as an argument. This ensures that when for example a project is deleted the cache for all branches is flushed.
* | | | Merge remote-tracking branch 'dev/master' into 'master'Robert Speicher2016-02-091-20/+60
|\ \ \ \ | |_|_|/ |/| | |
| * | | Merge branch 'ci-permissions' into 'master' Robert Speicher2016-02-081-20/+60
| |\ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | Limit guest access to builds Closes https://dev.gitlab.org/gitlab/gitlabhq/issues/2646 See merge request !1942
| | * | Merge branch 'master' into ci-permissionsKamil Trzcinski2016-02-051-1/+1
| | |\ \ | | | | | | | | | | | | | | | | | | | | # Conflicts: # db/schema.rb
| | * | | Use `delete` instead of assignment operator when filtering build abilitiesKamil Trzcinski2016-02-041-1/+1
| | | | |
| | * | | Update ability model after commentsKamil Trzcinski2016-02-041-24/+15
| | | | |
| | * | | Merge remote-tracking branch 'origin/master' into ci-permissionsKamil Trzcinski2016-02-047-4/+33
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | # Conflicts: # app/views/projects/builds/index.html.haml
| | * | | | Rename allow_guest_to_access_builds to public_buildsKamil Trzcinski2016-02-041-5/+5
| | | | | |
| | * | | | Simplify abilitiesKamil Trzcinski2016-02-041-16/+23
| | | | | |
| | * | | | Properly handle commit status permissions (for a build)Kamil Trzcinski2016-02-031-0/+22
| | | | | |
| | * | | | Fix build errorsKamil Trzcinski2016-02-031-3/+3
| | | | | |
| | * | | | Add CI setting: allow_guest_to_access_buildsKamil Trzcinski2016-02-021-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | Add the `read_build` ability if user is anonymous or guest and allow_guest_to_access_builds is enabled.
| | * | | | Make the CI permission model simplerKamil Trzcinski2016-02-021-8/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This MR simplifies CI permission model: - read_build: allows to read a list of builds, artifacts and trace - update_build: allows to cancel and retry builds - create_build: allows to create builds from gitlab-ci.yml (not yet implemented) - admin_build: allows to manage triggers, runners and variables - read_commit_status: allows to read a list of commit statuses (including the overall of builds) - create_commit_status: allows to create a new commit status using API Remove all extra methods to manage permission. Made all controllers to use explicitly the new permissions.
* | | | | | Merge branch 'fix/max-attachment-size-setting-validation'Douwe Maan2016-02-091-0/+4
|\ \ \ \ \ \
| * | | | | | Validate maximum attachment size in application settingsGrzegorz Bizon2016-02-091-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `max_attachment_size` in `ApplicationSetting` should be present, only integers greater than zero are valid. Closes #13188
* | | | | | | Merge branch ↵Douwe Maan2016-02-091-0/+1
|\ \ \ \ \ \ \ | |_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'huacnlee/gitlab-ce-feature/option-to-include-author-info-in-mail' into 'master' Add option to include the sender name in body of Notify email _Originally opened at !2495 by @huacnlee._ - - - Fixes #7824. See merge request !2767
| * | | | | | Add option to include the sender name in body of Notify email. fix #7824huacnlee/gitlab-ce-feature/option-to-include-author-info-in-mailJason Lee2016-02-091-0/+1
| |/ / / / /
* | | | | | Merge branch 'zj/gitlab-ce-unique-milestone-title-per-project'Douwe Maan2016-02-091-1/+1
|\ \ \ \ \ \ | |/ / / / / |/| | | | |
| * | | | | Validate uniqueness of milestone title per projectZeger-Jan van de Weg2016-02-081-1/+1
| |/ / / / | | | | | | | | | | | | | | | Fixes #3903