BigW Consortium Gitlab

  1. 26 Jan, 2017 1 commit
  2. 08 Dec, 2016 1 commit
  3. 30 Nov, 2016 1 commit
  4. 28 Nov, 2016 1 commit
  5. 21 Nov, 2016 1 commit
    • Refactor cache refreshing/expiring · ffb9b3ef
      Yorick Peterse authored
      This refactors repository caching so it's possible to selectively
      refresh certain caches, instead of just expiring and refreshing
      everything.
      
      To allow this the various methods that were cached (e.g. "tag_count" and
      "readme") use a similar pattern that makes expiring and refreshing
      their data much easier.
      
      In this new setup caches are refreshed as follows:
      
      1. After a commit (but before running ProjectCacheWorker) we expire some
         basic caches such as the commit count and repository size.
      
      2. ProjectCacheWorker will recalculate the commit count, repository
         size, then refresh a specific set of caches based on the list of
         files changed in a push payload.
      
      This requires a bunch of changes to the various methods that may be
      cached. For one, data should not be cached if a branch used or the
      entire repository does not exist. To prevent all these methods from
      handling this manually this is taken care of in
      Repository#cache_method_output. Some methods still manually check for
      the existence of a repository but this result is also cached.
      
      With selective flushing implemented ProjectCacheWorker no longer uses an
      exclusive lease for all of its work. Instead this worker only uses a
      lease to limit the number of times the repository size is updated as
      this is a fairly expensive operation.
  6. 09 Nov, 2016 1 commit
    • Add button to delete all merged branches · 1afab9eb
      Toon Claes authored
      It adds a button to the branches page that the user can use to delete
      all the branches that are already merged. This can be used to clean up
      all the branches that were forgotten to delete while merging MRs.
      
      Fixes #21076.
  7. 31 Oct, 2016 1 commit
  8. 24 Oct, 2016 1 commit
    • Fix branch protection API. · f79f3a1d
      Timothy Andrew authored
      1. Previously, we were not removing existing access levels before
         creating new ones. This is not a problem for EE, but _is_ for CE,
         since we restrict the number of access levels in CE to 1.
      
      2. The correct approach is:
      
          CE -> delete all access levels before updating a protected branch
          EE -> delete developer access levels if "developers_can_{merge,push}" is switched off
      
      3. The dispatch is performed by checking if a "length: 1" validation is
         present on the access levels or not.
      
      4. Another source of problems was that we didn't put multiple queries in
         a transaction. If the `destroy_all` passes, but the `update` fails,
         we should have a rollback.
      
      5. Modifying the API to provide users direct access to CRUD access
         levels will make things a lot simpler.
      
      6. Create `create/update` services separately for this API, which
         perform the necessary data translation, before calling the regular
         `create/update` services. The translation code was getting too large
         for the API endpoint itself, so this move makes sense.
  9. 16 Aug, 2016 1 commit
  10. 09 Aug, 2016 1 commit
  11. 29 Jul, 2016 1 commit
    • Have the `branches` API work with the new protected branches data model. · 01d190a8
      Timothy Andrew authored
      1. The new data model moves from `developers_can_{push,merge}` to
         `allowed_to_{push,merge}`.
      
      2. The API interface has not been changed. It still accepts
         `developers_can_push` and `developers_can_merge` as options. These
         attributes are inferred from the new data model.
      
      3. Modify the protected branch create/update services to translate from
         the API interface to our current data model.
  12. 19 Jul, 2016 2 commits
  13. 27 Jun, 2016 1 commit
  14. 06 Mar, 2016 1 commit
  15. 18 Dec, 2015 1 commit
  16. 22 Jul, 2015 1 commit
  17. 21 Jul, 2015 1 commit
  18. 22 Jun, 2015 1 commit
  19. 12 Feb, 2015 1 commit
  20. 30 Oct, 2014 1 commit
  21. 25 Sep, 2014 1 commit
  22. 15 Sep, 2014 2 commits
  23. 14 Sep, 2014 1 commit
  24. 03 Sep, 2014 1 commit
  25. 01 Aug, 2014 1 commit
  26. 17 Jun, 2014 1 commit
  27. 23 May, 2014 1 commit
  28. 11 Apr, 2014 1 commit
  29. 01 Apr, 2014 1 commit
  30. 31 Mar, 2014 1 commit