1. 23 Feb, 2017 11 commits
  2. 22 Feb, 2017 1 commit
  3. 21 Feb, 2017 6 commits
  4. 20 Feb, 2017 1 commit
  5. 19 Feb, 2017 1 commit
    • Stan Hu's avatar
      Prevent project team from being truncated too early during project destruction · ef8defda6ff9
      Stan Hu authored
      There are two issues with truncating the project team early:
      
      1. `Projects::UnlinkForkService` may not close merge requests properly since
         permissions may be revoked early.
      
      2. If an error is encountered during flushing of caches, then the user will
         lose all privileges, possibly causing an issue on deletion on retry.
      ef8defda6ff9
  6. 17 Feb, 2017 3 commits
  7. 16 Feb, 2017 3 commits
    • Grzegorz Bizon's avatar
      3ba8fc05d89e
    • Sean McGivern's avatar
      Show merge errors in merge request widget · a55414c408ce
      Sean McGivern authored
      There were two problems here:
      
      1. On the JS side, the reference to $widgetBody didn't refer to the
         right DOM element any more. This might be because it was replaced by
         the `getMergeStatus` method. Even if it wasn't, ensuring we have the
         right element means that the content gets updated.
      
      2. On the Ruby side, the `log_merge_error` method didn't update the
         `merge_error` column of the merge request. Change that to update if
         requested, and update in the most common cases by default.
      
         Additionally, this would sometimes return an error hash, but it
         doesn't look like this was ever used (the return value of
         `MergeService#execute` appears to be unused everywhere).
      a55414c408ce
    • Stan Hu's avatar
      Fix a number of race conditions that can occur during namespace deletion · 2c2f45645d45
      Stan Hu authored
      There are two problems in the current implementation:
      
      1. If a project is marked for deletion via the `pending_delete` flag
      and then the namespace was quickly deleted, it's possible that the
      namespace skips over that project and leaves that project in
      an orphaned state.
      
      2. Before namespace deletion, the namespace attempts to clean up
      all the relevant storage paths. However, if all projects have been
      removed synchronously, then the namespace will not be able to clean anything.
      To prevent this, we should load the paths to be deleted before
      actually destroying projects.
      
      The specs were missing this second case due to a permission issue
      that caused project removal never to happen.
      2c2f45645d45
  8. 15 Feb, 2017 3 commits
  9. 14 Feb, 2017 10 commits
  10. 13 Feb, 2017 1 commit