1. 23 11月, 2016 2 次提交
  2. 22 11月, 2016 2 次提交
  3. 21 11月, 2016 8 次提交
    • Y
      Refactor cache refreshing/expiring · ffb9b3ef
      Yorick Peterse 提交于
      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.
      ffb9b3ef
    • R
      Fix a wrong "The build for this merge request failed" message · 1a5eedf3
      Rémy Coutable 提交于
      Also allow merge request to be merged with skipped pipeline and the
      "only allow merge when pipeline is green" feature enabled
      Signed-off-by: NRémy Coutable <remy@rymai.me>
      1a5eedf3
    • J
      refactored a couple of things based on feedback · 9b691688
      James Lopez 提交于
      9b691688
    • L
      External jobs do not have show page nor traces · fa936c68
      Lin Jen-Shin 提交于
      Fixes #24677
      fa936c68
    • Y
      Use File.exist? to check if a repository exists · 6f393877
      Yorick Peterse 提交于
      Initializing Rugged objects is way too expensive just to check if a
      repository exists. Even though we cache this data once in a while we
      have to refresh this. On GitLab.com we have seen Repository#exists?
      taking up to _1 minute_ to complete in the absolute worst case, though
      usually it sits around a second or so.
      
      Using File.exist? to instead check if $GIT_DIR/refs exists is a much
      faster way of checking if a repository was initialized properly.
      6f393877
    • Y
      Unify detecting of special repository files · df5548e1
      Yorick Peterse 提交于
      This moves the logic of detecting special repository files (e.g. a
      README or a Koding configuration file) to a single class:
      Gitlab::FileDetector. Moving this logic into a single place allows this
      to be re-used more easily.
      
      This commit also changes Repository#gitlab_ci_yaml so that its cached
      similar to other data (e.g. the Koding configuration file).
      df5548e1
    • J
      fix spec failure · d747c1c0
      James Lopez 提交于
      d747c1c0
    • J
      Added permissions per stage to cycle analytics endpoint · 0fd397bb
      James Lopez 提交于
      0fd397bb
  4. 19 11月, 2016 4 次提交
  5. 18 11月, 2016 16 次提交
  6. 17 11月, 2016 3 次提交
  7. 16 11月, 2016 5 次提交