Replaces "Create merge request" link with one to the MR when one exists
Fixes#3716
* Without MR:

* With MR:

* Without MR:

* With MR:

* Without MR:

* With MR:

See merge request !2670
Prevent rasterization artifacts in the logo, and simplify markup.
- Remove sketch-namespaced attributes.
- Remove unused groups, and cancel out unnecessary transforms.
- Use overlap to avoid rasterization artifacts in the logo.
- Remove viewBox parameter and define paths in their final form.
See merge request !2741
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
Similar to 423d2d6, except duplicates occurred only if a Web service (e.g. Slack) were
configured.
When deleting a branch, this is what was happening:
1. DeleteBranchService calls execute_hooks and execute_services
2. The call to repository.rm_branch triggers the GitHooksService.
3. This, in turn, calls GitPushService and then calls the same hooks/services again.
5145706 now makes it no longer necessary for DeleteBranchService and CreateBranchService to execute
the branch hooks/services. Note that tags behave differently in GitTagPushService and GitPushService
is not called.
Closes#10330
Add an option to supply root email through an environmental variable.
_Originally opened at !2499 by @3kami3._
---
Add an option to supply root email through an environmental variable.
See merge request !2751