1. 20 2月, 2016 22 次提交
  2. 18 2月, 2016 4 次提交
    • Y
      Handle raw_repository returning nil in exists? · 5b6d347f
      Yorick Peterse 提交于
      If path_with_namespace is nil Repository#raw_repository will also return
      nil. Apparently code out there creates a Repository instance without a
      namespace path. Right.
      5b6d347f
    • Y
      Use Repository#exists? in Repository#commit? · 19b21c2e
      Yorick Peterse 提交于
      Just checking raw_repository is no longer accurate to determine if a
      repository exists or not.
      19b21c2e
    • Y
      Fixed Repository#exists? to handle errors · 54aa0969
      Yorick Peterse 提交于
      Now that Repository#raw_repository no longer sets the autocrlf option it
      will also no longer raise any NoRepository errors since it doesn't
      access Rugged any more. This also means that Repository#exists? can't
      simply return the raw repository as this is no indication of whether or
      not the repository actually exists (besides returning a non boolean is
      weird in the first place).
      
      To solve this problem Repository#exists? now properly checks if the
      repository exists and returns true/false instead of a
      Gitlab::Git::Repository or nil object.
      54aa0969
    • Y
      Only set autocrlf when creating/updating files · c475b171
      Yorick Peterse 提交于
      Setting the "autocrlf" Git option is an overkill since it's rarely
      actually needed. More importantly, it has quite the impact on
      performance (see gitlab-org/gitlab-ce#13457 for more information).
      
      By setting "autocrlf" when creating or updating files we guarantee the
      option is always set properly when we actually need it _without_
      introducing overhead for requests that have nothing to do with this
      option.
      
      Fixes gitlab-org/gitlab-ce#13457
      c475b171
  3. 17 2月, 2016 3 次提交
  4. 16 2月, 2016 1 次提交
  5. 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
  6. 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
    • T
      b62cdc3c
  7. 05 2月, 2016 1 次提交
    • Y
      Dedicated method for counting commits between refs · b263ab61
      Yorick Peterse 提交于
      gitlab_git 8.1 adds the ability to count the amount of commits between
      two references without having to allocate anything but regular
      Rugged::Commit objects. This in turn speeds up the process of counting
      the number of commits a branch is ahead/behind by about 3.5x.
      b263ab61
  8. 28 1月, 2016 1 次提交
  9. 23 1月, 2016 1 次提交
  10. 22 1月, 2016 1 次提交
  11. 07 1月, 2016 3 次提交