BigW Consortium Gitlab

  1. 17 Aug, 2016 1 commit
  2. 16 Aug, 2016 4 commits
    • Fix a missed `before_action` for `AutocompleteController`. · f898a47e
      Timothy Andrew authored
      - `#find_users` depends on a project being loaded.
      
      - Missed adding this in 2193ae22
    • Backport `AutocompleteController#load_project` from EE!581. · 2193ae22
      Timothy Andrew authored
      - This is an optimization that was made in !581, and it needs to be
        backported to CE to avoid merge conflicts in the future.
    • Backport changes from gitlab-org/gitlab-ee!581 to CE. · e805a647
      Timothy Andrew authored
      !581 has a lot of changes that would cause merge conflicts if not
      properly backported to CE. This commit/MR serves as a better
      foundation for gitlab-org/gitlab-ee!581.
      
      = Changes =
      
      1. Move from `has_one {merge,push}_access_level` to `has_many`, with the
         `length` of the association limited to `1`. This is _effectively_ a
         `has_one` association, but should cause less conflicts with EE, which
         is set to `has_many`. This has a number of related changes in the
         views, specs, and factories.
      
      2. Make `gon` variable loading more consistent (with EE!581) in the
         `ProtectedBranchesController`. Also use `::` to prefix the
         `ProtectedBranches` services, because this is required in EE.
      
      3. Extract a `ProtectedBranchAccess` concern from the two access level
         models. This concern only has a single `humanize` method here, but
         will have more methods in EE.
      
      4. Add `form_errors` to the protected branches creation form. This is
         not strictly required for EE compatibility, but was an oversight
         nonetheless.
  3. 15 Aug, 2016 9 commits
  4. 12 Aug, 2016 1 commit
    • Recover usage of Todos counter cache · f8b53ba2
      Paco Guzman authored
      We’re being kept up to date the counter data but we’re not using it.
      The only thing which is not real if is the number of projects that the 
      user read changes the number of todos can be stale for some time.
      
      The counters will be sync just after the user receives a new todo or mark any as done
  5. 11 Aug, 2016 4 commits
    • Fix bug where destroying a namespace would not always destroy projects · cb8a425b
      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
    • Pre-create all builds for Pipeline when a trigger is received · 39203f1a
      Kamil Trzcinski authored
      This change simplifies a Pipeline processing by introducing a special new status: created.
      This status is used for all builds that are created for a pipeline.
      We are then processing next stages and queueing some of the builds (created -> pending) or skipping them (created -> skipped).
      This makes it possible to simplify and solve a few ordering problems with how previously builds were scheduled.
      This also allows us to visualise a full pipeline (with created builds).
      
      This also removes an after_touch used for updating a pipeline state parameters.
      Right now in various places we explicitly call a reload_status! on pipeline to force it to be updated and saved.
  6. 10 Aug, 2016 5 commits
  7. 09 Aug, 2016 1 commit
  8. 08 Aug, 2016 3 commits
  9. 06 Aug, 2016 1 commit
  10. 05 Aug, 2016 1 commit
  11. 04 Aug, 2016 2 commits
  12. 03 Aug, 2016 8 commits