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
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.
Expose MergeRequest#merge_status
_Originally opened at !2478 by @develop7._
- - -
This enables API users to see whether a merge request can be merged without conflicts.
See merge request !2756
Improve CI builds API specs
This modifies a CI Runners Builds API, to improve performance, and add few missing examples.
Extracted from !2560 (cherry-picked + extended).
cc @ayufan
See merge request !2698
This caches the output of the following methods:
* Repository#empty?
* Repository#has_visible_content?
* Repository#root_ref
The cache for Repository#has_visible_content? is flushed whenever a
commit is pushed to a new branch or an existing branch is removed.
The cache for Repository#root_ref is only flushed whenever a user
changes the default branch of a project. The cache for Repository#empty?
is never explicitly flushed as there's no need for it.
Remember user's inline/tabular diff view preference in a cookie
_Originally opened at !1677 by @kkm._
---
As per #3071, some users (we have a local EE installation) prefer 2-column view in diff. In this MR I add an implementation for this feature, using a cookie.
Fixes#3071.
See merge request !2723
You can set type: :merge_request to create a link to merge request
lists instead of issues list. Accept both Symbol & String as type
argument for the link_to_label helper
Fix atom url issue on projects
This MR adds prevents a project to have a path ending in .atom that conflicts with the feed
and
Adds a migration to migrate old .atom projects to a different path
Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/3699
See merge request !2651
Hide remove source branch button when new commit is added to branch
Fixes#3339
This MR hides the 'Remove source branch' button when a new commit is added to the source branch
/cc @DouweM
See merge request !2701
Make Pipelines responsible for defining their custom whitelist
This allows for future pipelines to more easily define a custom
whitelist.
See merge request !2693
No space required after WIP identifier
Fixes#2426
Currently, the WIP: (or any other variation) prefix of a merge request title must include a trailing space for it to be recognized as a work in progress and prevent merging.
To resolve this, I added an or pattern to the regexp to look for any one of the three possible delimiters ':', ']', or ' '. This way the trailing space isn't required but it still won't mark any titles beginning with wip as work in progress (e.g. "Wipwap").
See merge request !1876