Read about our upcoming Code of Conduct on this issue

  1. 16 Feb, 2017 1 commit
    • 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
  2. 08 Feb, 2017 2 commits
  3. 07 Feb, 2017 1 commit
    • Yorick Peterse's avatar
      Refresh authorizations when transferring projects · 71096bb0efc1
      Yorick Peterse authored
      This ensures that project authorizations are refreshed when moving a
      project from one namespace to another. When doing so the permissions for
      all users of both the old and new namespaces are refreshed.
      
      See #26194 for more information.
      71096bb0efc1
  4. 31 Jan, 2017 1 commit
  5. 25 Jan, 2017 1 commit
  6. 23 Jan, 2017 1 commit
  7. 20 Jan, 2017 1 commit
  8. 13 Jan, 2017 1 commit
  9. 21 Dec, 2016 1 commit
    • Markus Koller's avatar
      Add more storage statistics · 4571941f6307
      Markus Koller authored
      This adds counters for build artifacts and LFS objects, and moves
      the preexisting repository_size and commit_count from the projects
      table into a new project_statistics table.
      
      The counters are displayed in the administration area for projects
      and groups, and also available through the API for admins (on */all)
      and normal users (on */owned)
      
      The statistics are updated through ProjectCacheWorker, which can now
      do more granular updates with the new :statistics argument.
      4571941f6307
  10. 20 Dec, 2016 1 commit
  11. 15 Dec, 2016 1 commit
  12. 13 Dec, 2016 2 commits
  13. 12 Dec, 2016 1 commit
  14. 08 Dec, 2016 1 commit
  15. 06 Dec, 2016 1 commit
  16. 24 Nov, 2016 1 commit
  17. 23 Nov, 2016 1 commit
  18. 07 Oct, 2016 2 commits
    • Will Starms's avatar
      Correct namespace validation to forbid bad names #21077 · c8f8a7cf02e4
      Will Starms authored
      Adds .git and .atom to the master namespace regex
      Updates existing group tests and adds two new ones
      Updates path cleaning to also forbid .atom
      c8f8a7cf02e4
    • Nick Thomas's avatar
      Add markdown cache columns to the database, but don't use them yet · af001f6c6325
      Nick Thomas authored
      This commit adds a number of _html columns and, with the exception of Note,
      starts updating them whenever the content of their partner fields changes.
      
      Note has a collision with the note_html attr_accessor; that will be fixed later
      
      A background worker for clearing these cache columns is also introduced - use
      `rake cache:clear` to set it off. You can clear the database or Redis caches
      separately by running `rake cache:clear:db` or `rake cache:clear:redis`,
      respectively.
      af001f6c6325
  19. 15 Sep, 2016 1 commit
  20. 11 Aug, 2016 1 commit
    • Stan Hu's avatar
      Fix bug where destroying a namespace would not always destroy projects · 4f8fa2dd763b
      Stan Hu authored
      There is a race condition in DestroyGroupService now that projects are deleted asynchronously:
      
      1. User attempts to delete group
      2. DestroyGroupService iterates through all projects and schedules a Sidekiq job to delete each Project
      3. DestroyGroupService destroys the Group, leaving all its projects without a namespace
      4. Projects::DestroyService runs later but the can?(current_user,
         :remove_project) is `false` because the user no longer has permission to
         destroy projects with no namespace.
      5. This leaves the project in pending_delete state with no namespace/group.
      
      Projects without a namespace or group also adds another problem: it's not possible to destroy the container
      registry tags, since container_registry_path_with_namespace is the wrong value.
      
      The fix is to destroy the group asynchronously and to run execute directly on Projects::DestroyService.
      
      Closes #17893
      4f8fa2dd763b
  21. 30 Jun, 2016 1 commit
  22. 03 Jun, 2016 2 commits
  23. 13 May, 2016 1 commit
  24. 12 May, 2016 1 commit
  25. 09 May, 2016 2 commits
  26. 06 May, 2016 1 commit
  27. 11 Mar, 2016 1 commit
  28. 06 Jan, 2016 1 commit
  29. 15 Dec, 2015 1 commit
  30. 07 Dec, 2015 2 commits
  31. 13 Nov, 2015 1 commit
  32. 14 Oct, 2015 1 commit
  33. 01 Oct, 2015 1 commit
  34. 11 Aug, 2015 1 commit