gitlab-org--gitlab-foss/app
Douwe Maan d5c715c9cc Merge branch 'lock_for_issuable' into 'master'
Optimistic locking for Issue and Merge Requests

## What does this MR do?

It implements Optimistic Locking http://api.rubyonrails.org/classes/ActiveRecord/Locking/Optimistic.html for Issues and MRs but in a bit custom way. We use it for cases when either title or description field is involved in the change.

## Why was this MR needed?

We have to prevent data losing.

## What are the relevant issue numbers?
https://gitlab.com/gitlab-org/gitlab-ce/issues/12940

## Screenshots (if relevant)

![Screen_Shot_2016-07-09_at_15.33.02](/uploads/2efbe547a12fda93bce347fa711438d7/Screen_Shot_2016-07-09_at_15.33.02.png)


See merge request !5146
2016-07-12 17:52:51 +00:00
..
assets Merge branch 'issue-19467' into 'master' 2016-07-12 13:10:26 +00:00
controllers Merge branch 'lock_for_issuable' into 'master' 2016-07-12 17:52:51 +00:00
finders Cache todos pending/done dashboard query counts 2016-07-12 18:57:52 +02:00
helpers Cache todos pending/done dashboard query counts 2016-07-12 18:57:52 +02:00
mailers Display new diff notes and allow creation through the web interface 2016-07-06 18:51:00 -04:00
models Optimistic locking for Issue and Merge Requests 2016-07-12 19:52:14 +03:00
services Reset project pushes_since_gc when we enqueue the git gc call 2016-07-12 15:54:05 +02:00
uploaders Enable Style/SpaceAfterComma Rubocop cop 2016-06-29 15:23:44 +02:00
validators refactor url validator to use sanitizer for check 2016-07-01 09:02:45 +02:00
views Optimistic locking for Issue and Merge Requests 2016-07-12 19:52:14 +03:00
workers Expire the branch cache after `git gc` runs 2016-07-12 05:42:19 -07:00