Update Gemojione for new hotness ✨
Before | After
------ | -----
 | 
See merge request !2800
workaround for forks with an invalid repo
Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/13465
The error occurs when a project returns a `nil` commit for a variety of reasons, I assume the repository is corrupt - perhaps as a result of a failed fork.
With this MR, we do not show forks with corrupted repos in the list of forks, as this does not seem to work anyway. A better solution is to fix the cause of the issue and/or any data integrity problem...
Also fixing Sentry issue: 1180
`undefined method 'already_forked?' for nil:NilClass `
See merge request !2836
Decouple SAML authentication from the default Omniauth logic
Fixes gitlab-org/gitlab-ee#178
With this merge request SAML gets its own login logic and its own `User` class under `lib/gitlab/saml/` This is needed to give SAML more versatility over how the authorization process works and to pave the way for the development of a SAML group sync as outlined here: gitlab-org/gitlab-ee#118
See merge request !2782
Only set autocrlf when creating/updating files
Related issue: gitlab-org/gitlab-ce#13457
Details: 5619a6de1dd6fc1dfd4053810c7b11c677b7a495
See merge request !2859
Fix CI builds scheduler when first build in stage is allowed to fail
This fixes an edge case in CI builds scheduler when first build in stage was marked as allowed to fail.
Closes#3192
See merge request !2869
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.
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.
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.
Fixesgitlab-org/gitlab-ce#13457
Reduce code complexity on GitPushService#execute
Code complexity for gitlab-ce after this has been refactored:
```
27.3: GitPushService#execute
```
This still needs to be merged into `gitlab-ee` presumably with conflicts... Perhaps we should create another issue for doing that?
I left the code sort of similar to what it was... If I could, I would have refactored most of the code into separate classes, etc. as it breaks probably all SOLID principles.
Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/13327
See merge request !2784
Add ability to see and sort on vote count from Issues and MR lists
Fixes#3763
* Sort options

* Most popular

* Least popular

See merge request !2781
Prevents floated button group on issues view
Issue #13359

See merge request !2826
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).
This ensures the caches for Repository#empty? and
Repository#has_visible_content? are flushed after a repository has been
imported or forked.
Fixesgitlab-org/gitlab-ce#13505