1. 10 2月, 2016 1 次提交
    • Y
      Smarter flushing of branch statistics caches · 2ce0d063
      Yorick Peterse 提交于
      Instead of flushing the behind/ahead counts for all branches upon every
      push we now only flush the cache of branches that actually need to have
      these statistics recalculated. There are now basically 2 scenarios and
      their effects:
      
      1. A user pushes a commit to the default branch, this results in the
         cache being flushed for all branches.
      2. A user pushes to a non default branch, this results in _only_ the
         cache for that branch being flushed.
      
      The existing code (Repository#expire_cache) remains backwards compatible
      with the previous behaviour, the new behaviour is only applied when a
      branch name is passed as an argument. This ensures that when for example
      a project is deleted the cache for all branches is flushed.
      2ce0d063
  2. 08 2月, 2016 2 次提交
    • Y
      Cache various Repository Git operations · 9a99d8e4
      Yorick Peterse 提交于
      This caches the output of the following methods:
      
      * Repository#empty?
      * Repository#has_visible_content?
      * Repository#root_ref
      
      The cache for Repository#has_visible_content? is flushed whenever a
      commit is pushed to a new branch or an existing branch is removed.
      The cache for Repository#root_ref is only flushed whenever a user
      changes the default branch of a project. The cache for Repository#empty?
      is never explicitly flushed as there's no need for it.
      9a99d8e4
    • Z
      Validate uniqueness of milestone title per project · 308c967d
      Zeger-Jan van de Weg 提交于
      Fixes #3903
      308c967d
  3. 05 2月, 2016 2 次提交
  4. 04 2月, 2016 1 次提交
  5. 02 2月, 2016 5 次提交
  6. 01 2月, 2016 2 次提交
    • Y
      Optimize fetching issues closed by a merge request · 99492d6b
      Yorick Peterse 提交于
      Instead of running ClosingIssueExtractor for every commit in a merge
      request we can gather all the commit messages (and the merge request
      description), concatenate all this together and then run
      ClosingIssueExtractor only once.
      
      The result of this is that MergeRequest#closes_issues is now between
      3.5x and 4x faster than the old setup. Using a merge request with 10
      commits (each referencing a number of issues to close) this reduced the
      call duration from around 200 milliseconds to around 50 milliseconds.
      
      As a result of these changes the Jira related tests for
      MergeRequest#closes_issues have been removed. These tests stubbed
      Commit#closes_issues meaning that the only code that was really tested
      was the call to Array#uniq to filter out duplicate issues. As this code
      is no longer used (nor present) the corresponding tests were removed.
      
      Related: gitlab-org/gitlab-ce#12419
      99492d6b
    • J
      WIP lazy blobs · 64c8ee47
      Jacob Vosmaer 提交于
      64c8ee47
  7. 30 1月, 2016 4 次提交
  8. 29 1月, 2016 2 次提交
  9. 28 1月, 2016 2 次提交
  10. 27 1月, 2016 2 次提交
    • Y
      Use Atom update times of the first event · de7c9c7a
      Yorick Peterse 提交于
      By simply loading the first event from the already sorted set we save
      ourselves extra (slow) queries just to get the latest update timestamp.
      This removes the need for Event.latest_update_time and significantly
      reduces the time needed to build an Atom feed.
      
      Fixes gitlab-org/gitlab-ce#12415
      de7c9c7a
    • B
      Update ExternalIssue regex for JIRA integration · 4be65c32
      Blake Hitchcock 提交于
      The pattern in the `::reference_pattern` class method in the
      ExternalIssue model does not match all valid forms of JIRA project
      names. I have updated the regex to match JIRA project names with numbers
      and underscores. More information on valid JIRA project names can be
      found here:
      https://confluence.atlassian.com/jira/changing-the-project-key-format-192534.html
      
      * The first character must be a letter,
      * All letters used in the project key must be from the Modern Roman Alphabet and upper case, and
      * Only letters, numbers or the underscore character can be used.
      4be65c32
  11. 26 1月, 2016 1 次提交
  12. 25 1月, 2016 1 次提交
  13. 23 1月, 2016 2 次提交
  14. 22 1月, 2016 3 次提交
  15. 21 1月, 2016 5 次提交
  16. 20 1月, 2016 4 次提交
  17. 19 1月, 2016 1 次提交