An error occurred fetching the project authors.
  1. 10 Jun, 2016 2 commits
    • Paco Guzman's avatar
      Cache the presence of an issue_tracker at project level · 136a4ea3
      Paco Guzman authored
      Using update_column to store the boolean flag to avoid
      any side effects with the current state of the project
      instance
      136a4ea3
    • Yorick Peterse's avatar
      Add Project.where_paths_in · 24920bc5
      Yorick Peterse authored
      This method can be used to find multiple projects for multiple paths.
      For example, take this snippet:
      
          Project.where_paths_in(%w{gitlab-org/gitlab-ce gitlab-org/gitlab-ee})
      
      This will return an ActiveRecord::Relation containing the GitLab CE and
      GitLab EE projects.
      
      This method takes care of matching rows both case-sensitively and
      case-insensitively where needed.
      
      Project.find_with_namespace in turn has been modified to use
      Project.where_paths_in without nuking any scoping (instead it uses
      reorder(nil)). This means that any default scopes (e.g. those used for
      "pending_delete" stay intact).
      
      The method Project.where_paths_in was added so the various Markdown
      filters can use a single query to grab all the projects referenced in a
      set of documents, something Project.find_with_namespace didn't allow.
      24920bc5
  2. 07 Jun, 2016 2 commits
  3. 03 Jun, 2016 2 commits
  4. 02 Jun, 2016 1 commit
  5. 01 Jun, 2016 2 commits
  6. 25 May, 2016 1 commit
  7. 24 May, 2016 1 commit
  8. 17 May, 2016 1 commit
  9. 16 May, 2016 3 commits
  10. 09 May, 2016 2 commits
  11. 08 May, 2016 1 commit
  12. 29 Apr, 2016 1 commit
    • Yorick Peterse's avatar
      Use a query in Project#protected_branch? · e28d1fa3
      Yorick Peterse authored
      This changes Project#protected_branch? to use a query to check if a
      branch is protected, instead of loading all ProtectedBranch records into
      memory just to check if the list of names includes a given branch name.
      e28d1fa3
  13. 25 Apr, 2016 1 commit
  14. 16 Apr, 2016 1 commit
  15. 13 Apr, 2016 1 commit
  16. 11 Apr, 2016 1 commit
  17. 31 Mar, 2016 1 commit
  18. 25 Mar, 2016 1 commit
  19. 22 Mar, 2016 1 commit
  20. 21 Mar, 2016 1 commit
  21. 19 Mar, 2016 2 commits
    • Yorick Peterse's avatar
      Cache output of Repository#exists? · 68a4c98f
      Yorick Peterse authored
      This caches the output of Repository#exists? in Redis while making sure
      it's flushed properly when creating new repositories, deleting them,
      etc.
      
      For the ProjectWiki tests to work I had to make ProjectWiki#create_repo!
      public as testing private methods in RSpec is a bit of a pain.
      68a4c98f
    • Felipe Artur's avatar
      Fix specs · 8b830b8c
      Felipe Artur authored
      8b830b8c
  22. 18 Mar, 2016 1 commit
  23. 15 Mar, 2016 1 commit
    • Yorick Peterse's avatar
      Ignore eager loading in Project.search UNION · c7427602
      Yorick Peterse authored
      The queries that are UNION'd together don't need any eager loading
      (since we really only use the resulting SQL instead of having
      ActiveRecord actually run the queries). By dropping any eager loaded
      associations queries such as the following work instead of producing a
      SQL error:
      
          Project.all.includes(:namespace).search('foo')
      c7427602
  24. 11 Mar, 2016 3 commits
    • Baldinof's avatar
      e8c72354
    • Yorick Peterse's avatar
      Use ILIKE in Project.search_by_title · db615d0a
      Yorick Peterse authored
      Similar to the changes made to Project.search the method
      Project.search_by_title now also uses Arel so it can automatically use
      ILIKE/LIKE instead of the lower() function.
      db615d0a
    • Yorick Peterse's avatar
      Use ILIKE/LIKE + UNION in Project.search · 135659a7
      Yorick Peterse authored
      This chance is broken up in two steps:
      
      1. Use ILIKE on PostgreSQL and LIKE on MySQL, instead of using
         "WHERE lower(x) LIKE lower(y)" as ILIKE is significantly faster than
         using lower(). In many cases the use of lower() will force a slow
         sequence scan.
      
      2. Instead of using 1 query that searches both projects and namespaces
         using a JOIN we're using 2 separate queries that are UNION'd
         together. Using a JOIN would force a slow sequence scan, using a
         UNION avoids this.
      
      This method now uses Arel as Arel automatically uses ILIKE on PostgreSQL
      and LIKE on MySQL, removing the need to handle this manually.
      135659a7
  25. 10 Mar, 2016 1 commit
  26. 09 Mar, 2016 1 commit
  27. 08 Mar, 2016 1 commit
  28. 07 Mar, 2016 2 commits
  29. 26 Feb, 2016 1 commit
    • Yorick Peterse's avatar
      Flush repository caches before renaming projects · 1dfef90a
      Yorick Peterse authored
      This ensures that if a project is later re-created using the old path it
      doesn't end up re-using the old cache. This also ensures we don't keep
      the cache around until its expired by Redis itself.
      
      Fixes gitlab-org/gitlab-ce#13790
      1dfef90a