Commit Graph
3091 Commits
Author SHA1 Message Date
Rémy Coutable bc92de8f03 Add a safeguard in MergeRequest#compute_diverged_commits_count
We have to ensure source_sha and target_sha are not nil before calling
Gitlab::Git::Commit.between.
2016-03-18 19:01:20 +01:00
Douglas Barbosa Alexandre 02b0c37cab Refactor Todo#target 2016-03-18 13:27:27 -03:00
Douglas Barbosa Alexandre 2a8858ca8a Rename Todo#to_reference to Todo#target_reference
Since we're not actually returning a todo reference.
2016-03-18 13:24:47 -03:00
Douglas Barbosa Alexandre 231d4fb9f8 Use Commit#short_id instead of Commit.truncate_sha 2016-03-18 11:07:30 -03:00
Douglas Barbosa Alexandre 2eeeb266e3 Reuse for_commit? on conditional validations 2016-03-18 11:07:30 -03:00
Douglas Barbosa Alexandre a5bad46505 Update schema info comment on todo related files 2016-03-18 11:00:53 -03:00
Douglas Barbosa Alexandre fb72271e24 Use todo.done without ! in the controller to mark todo as done 2016-03-18 11:00:53 -03:00
Douglas Barbosa Alexandre c29da3f8ca Trigger a todo for mentions on commits page 2016-03-18 11:00:53 -03:00
Douwe Maan dadd28e317 Merge branch 'fix-mr-source-sha' into 'master'
Fix MergeRequest#source_sha when there is no diff

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/14170

### Overview

This MR fixes an unhandled Exception when visiting the page of an open Merge Request  without diff.

### Description

`MergeRequest#source_sha` is expected to return the sha of the source branch last commit. But when an open Merge Request has no diff (e.g. all commits have already been merged to the target branch), `merge_request.source_sha` incorrectly returns `nil`.

This was without consequences before – but since !2217 was merged (a few days ago), it makes `Gitlab::Git::Commit.between` raise an "Unexpected nil argument" exception. This can be reproduced when visiting the http://localhost:3000/gitlab-org/gitlab-test/merge_requests/2 page on a fresh local Gitlab setup.

This MR fixes the crash, by making sure that `source_sha` returns a
correct result even when there is no diff available. I also added tests.

@DouweM I believe you wrote most of this code in the first place ; does this looks correct to you, or is there a better way to resolve this issue maybe?

See merge request !3135
2016-03-18 12:28:43 +00:00
Douwe Maan 9813eac56b Merge branch 'confidential-issues' into 'master'
Add confidential issues

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/3678

More information: https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/227

See merge request !3282
2016-03-18 12:04:56 +00:00
Douglas Barbosa Alexandre 9222459ea3 Restrict access to confidential issues on activity feed 2016-03-17 20:56:00 -03:00
Douglas Barbosa Alexandre 482bfd1a6d Restrict access for confidential issues on milestone view 2016-03-17 20:55:59 -03:00
Douglas Barbosa Alexandre 34ee75379c Restrict access to confidential issues 2016-03-17 20:55:38 -03:00
Yorick Peterse 3d7feeede3 Don't rebuild diverging commit count caches
When calling Repository#build_cache we _don't_ want to build the
diverging commit count cache as doing so can be _very_ slow for
repositories with lots of branches. Because these caches are built
whenever needed (= when actually viewing the list of branches in the web
UI) we can safely remove this code from
Repository#build_cache.
2016-03-17 21:43:38 +01:00
Yorick Peterse 81d191ede9 Removed Repository#rebuild_cache
This method is not used or tested anywhere.
2016-03-17 21:43:38 +01:00
Yorick Peterse cd05d3f78d Cache project avatars stored in Git
The avatar logic has been moved from Project to Repository as this makes
caching easier. The logic itself in turn has been changed so that the
logo file names are cached in Redis. This cache is flushed upon pushing
a commit but _only_ if:

1. The commit was pushed to the default branch
2. The commit actually changes any of the logo files

If no branch or commit is given the cache is flushed anyway, this
ensures that calling Repository#expire_cache without any arguments still
flushes the avatar cache (e.g. this is used when removing a project).

Fixes gitlab-org/gitlab-ce#14363
2016-03-17 18:51:54 +01:00
Kamil Trzciński f728e4b519 Merge branch 'glalonde-triggerbuild' into 'master'
Adjusted behavior so canceled builds tagged as allowed to fail do not fail build

## What does this MR do?
This diff changes the 'Allowed to fail' flag to also ignore canceled builds, whereas before, canceled builds could fail the suite even if they were marked as 'Allowed to fail'

dupe of !3258 to force a build

## Are there points in the code the reviewer needs to double check?
no

## Why was this MR needed?
Unexpected behavior as a user

## What are the relevant issue numbers?

## Screenshots (if relevant)
![whatisgoingon](/uploads/fcd7c8f3d8454bc730d7fd41eff59b31/whatisgoingon.png)

See merge request !3271
2016-03-17 15:51:11 +00:00
Geoffrey Lalonde 4117c815df adjusted behavior so canceled builds tagged as allowed to fail do not fail build 2016-03-17 07:55:10 -07:00
Douwe Maan 21af7459ab Merge branch '4009-external-users' into 'master'
External Users

The user has the rights of a public user execpt it can never create a project, group, or team. Also it cant view internal projects.

Partially fix for both #4009 and #13938 (except the LDAP sync or a pattern to detect external users)


![Screen_Shot_2016-03-14_at_22.02.52](/uploads/486a84ab3acb98c6cfb71a4ec7d268e2/Screen_Shot_2016-03-14_at_22.02.52.png)

See merge request !3171
2016-03-17 14:15:38 +00:00
Zeger-Jan van de Weg 9337406671 Fix specs
Spinach was right, I was a fool..
2016-03-17 12:05:54 +01:00
Zeger-Jan van de Weg 481e73fb76 Merge branch 'master' into new-branch-button-issue 2016-03-17 11:13:16 +01:00
Hiroyuki Sato f0b052e168 Fix wiki search results point to raw source 2016-03-17 08:58:52 +09:00
Pierre de La Morinerie 18295585d9 Fix MergeRequest#source_sha when there is no diff
`MergeRequest#source_sha` is expected to return the sha of the source
branch last commit.

But when a open Merge Request has no diff (e.g. all commits have already
been merged to the target branch), `merge_request.source_sha`
incorrectly returns `nil`.

This was un-noticed before – but now that !2217 has been merged,
it makes `Gitlab::Git::Commit.between` raise an
"Unexpected nil argument" exception.

This fixes the crash, by making sure that `source_sha` returns a
correct result even when there is no diff available.
2016-03-16 14:02:04 +01:00
Douwe Maan c9c14584b7 Merge branch 'support-utf8-wiki-page-title' into 'master'
Support Wiki with UTF-8 page name

## What does this MR do?

Support Wiki with UTF-8 page name.

See https://github.com/gollum/gollum/pull/929

## Why was this MR needed?

Relax constraints for wiki slug in aac6598482.

It allows to create a wiki with UTF-8 name, but creating a wiki with UTF-8 name causes 500 error.

Creating a wiki with UTF-8 name once, then creating or updating wiki with ascii name also cause 500 error i.e. no one can create and update any wiki pages in the project.

## Workaround

1. Go to `https://DOMAIN/repo/wikis/git_access` -> this page display the link to git clone
2. Clone the wiki repo
3. Find the page with UTF-8 name
4. Rename or Delete these files
5. Commit and push

## What are the relevant issue numbers?

- #13979
- #13891
- #13698
- #13603
- #13317
- #12906
- #12825
- #10945 

## Todo

- [x] Waiting for 'gollum-rugged_adapter' that support rugged v0.24.0 release

'gollum-rugged_adapter' gem doesn't allow to install rugged v0.24.0 (it's still beta version),
but 'gitlab_git' gem depends on rugged v0.24.0b13.

So it can't install both 'gollum-rugged_adapter' and 'gitlab_git' now.


See merge request !2999
2016-03-16 01:21:34 +00:00
Zeger-Jan van de Weg 4827458155 Incorporate the review and update spec
The feature spec now also tests the absence of the new branch button
2016-03-15 21:59:25 +01:00
Zeger-Jan van de Weg 8077a5f958 Clearify who deletes the user 2016-03-15 21:09:25 +01:00
Zeger-Jan van de Weg b221d11a25 Add ability to delete a user with force 2016-03-15 21:09:25 +01:00
Zeger-Jan van de Weg 2b97c92119 Incorporate review 2016-03-15 20:21:11 +01:00
Zeger-Jan van de WegandZeger-Jan van de Weg ad97bebfed Enhance new branch button on an issue 2016-03-15 20:21:11 +01:00
Zeger-Jan van de WegandZeger-Jan van de Weg 228007dfbc new-branch-button 2016-03-15 20:21:11 +01:00
Zeger-Jan van de Weg 59064aeeef Merge branch 'master' into 4009-external-users 2016-03-15 19:16:16 +01:00
Rémy Coutable 54ec7e9599 Improving the original label-subscribing implementation
1. Make the "subscribed" text in Issuable sidebar reflect the labels
   subscription status

2. Current user mut be logged-in to toggle issue/MR/label subscription
2016-03-15 18:22:02 +01:00
Hiroyuki Sato 8acad49fe0 Support Wiki with UTF-8 page name 2016-03-16 02:17:07 +09:00
Timothy AndrewandRémy Coutable 0444fa560a Original implementation to allow users to subscribe to labels
1. Allow subscribing (the current user) to a label

- Refactor the `Subscription` coffeescript class
  - The main change is that it accepts a container, and conducts all
    DOM queries within its scope. We need this because the labels
    page has multiple instances of `Subscription` on the same page.

2. Creating an issue or MR with labels notifies users subscribed to those labels

- Label `has_many` subscribers through subscriptions.

3. Adding a label to an issue or MR notifies users subscribed to those labels

- This only applies to subscribers of the label that has just been
  added, not all labels for the issue.
2016-03-15 17:25:37 +01:00
Robert Speicher 178c80a561 Merge branch 'fix-activerecord-join-stupidity' into 'master'
Ignore eager loading in Project.search UNION

This fixes issues such as filtering groups by names on pages such as
https://gitlab.com/dashboard/groups.

See merge request !3229
2016-03-15 16:25:02 +00:00
Yorick Peterse b5a47c0a38 Merge branch 'external-issue-tracker' into 'master'
See merge request !3218
2016-03-15 16:16:39 +00:00
Rémy Coutable 5c1f6f8cfc Merge branch 'revert-avatar-cropping' into 'master'
Revert the avatar cropping feature

Reverts !2951 since the added 'mini_magick' dependency should be replaced by client-side croppping

See merge request !3223
2016-03-15 15:53:42 +00:00
Yorick Peterse c742760289 Ignore eager loading in Project.search UNION
The queries that are UNION'd together don't need any eager loading
(since we really only use the resulting SQL instead of having
ActiveRecord actually run the queries). By dropping any eager loaded
associations queries such as the following work instead of producing a
SQL error:

    Project.all.includes(:namespace).search('foo')
2016-03-15 16:46:17 +01:00
Rémy Coutable 1714883107 Revert "Merge branch 'avatar-cropping' into 'master' "
This reverts commit 01160fc061, reversing
changes made to 4bff9daf8b.
2016-03-15 14:55:40 +01:00
Rémy Coutable 76350e2ede Ensure "new SSH key" email do not ends up as dead Sidekiq jobs
Related to #2235.

This is done by:
1. Delaying the notification sending after the SSH key is commited in DB
2. Gracefully exit the mailer method if the record cannot be found
2016-03-15 11:23:57 +01:00
Kamil Trzcinski c51c901916 Return the external issue tracker even if it's null
This solves the problem with caching the nil value with instance variable.
Without this the every time we ask for external_issue_tracker we built AR and potentially do SQL query
2016-03-15 11:06:50 +01:00
Robert Speicher c4b35a6230 Merge branch 'fix-commit-status-rendering' into 'master'
Cleanup Ci::Commit, Ci::Build and CommitStatus views

This MR tries to do first sweep of cleanups to Ci::Commit and
Ci::Build objects removing all view-related functions and fixing the
API from other side.

Fixes: https://gitlab.com/gitlab-org/gitlab-ce/issues/6046

See merge request !2760
2016-03-15 00:51:43 +00:00
Zeger-Jan van de Weg 88f8d3a4d6 Merge branch 'master' into 4009-external-users 2016-03-14 20:08:02 +01:00
Robert Speicher b782e7c973 Merge branch 'rs-note-active-spec' into 'master'
Add unit specs for `Note#active?`

See merge request !3133
2016-03-14 12:53:15 -04:00
Dmitriy Zaporozhets d324bf8434 Merge branch 'share-project-ce' into 'master'
Bring from EE: Share Project with Group

- [x] Models and migrations
- [x] Logic, UI
- [x] Tests
- [x] Documentation
- [x] Share with group lock
- [x] Api feature
- [x] Api docs
- [x] Api tests

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>

For #12831 

cc @DouweM @rspeicher @vsizov

See merge request !3186
2016-03-14 16:38:52 +00:00
Kamil Trzcinski 16592e2b45 Fix review comments
- Remove unused Gitlab::Application.routes.url_helpers from Ci::Build
- Remove too much logic from a view, use Ci::Commit.matrix_builds
- Use ci_status_with_icon
- Don't describe symbols
2016-03-14 13:33:26 +01:00
Kamil Trzcinski 0672258915 Cleanup CiCommit and CiBuild
- Remove all view related methods from Ci::Build and CommitStatus
- Remove unused Ci::Commit and Ci::Build methods
- Use polymorphism to render different types of CommitStatus
2016-03-14 13:20:35 +01:00
Zeger-Jan van de Weg 76eeb316df Create an external users tab on Admin user list
Also incorporates the review into this, mainly spec changes.
2016-03-13 19:10:33 +01:00
Zeger-Jan van de Weg fc8d64b3a0 Remove Project#publicish 2016-03-13 19:08:04 +01:00
Zeger-Jan van de Weg 42fcd3881f External Users
The user has the rights of a public user execpt it can never create a project,
 group, or team. Also it cant view internal projects.
2016-03-13 19:08:04 +01:00