Read about our upcoming Code of Conduct on this issue

This instance will be upgraded to Heptapod 0.28.1 on 2022-01-26 at 16:00 UTC+1 (a few minutes of down time)

  1. 30 Oct, 2018 1 commit
  2. 22 Oct, 2018 1 commit
    • Yorick Peterse's avatar
      Move Project#rename_repo to a service class · a8f8af2f9d3f
      Yorick Peterse authored
      This moves the logic of Project#rename_repo and all methods _only_ used
      by this method into a new service class: Projects::AfterRenameService.
      By moving this code into a separate service class we can more easily
      refactor it, and we also get rid of some RuboCop "disable" statements
      automatically.
      
      During the refactoring of this code, I removed most of the explicit
      logging using Gitlab::AppLogger. The data that was logged would not be
      useful when debugging renaming issues, as it does not add any value on
      top of data provided by users.
      
      I also removed a variety of comments that either mentioned something the
      code does in literal form, or contained various grammatical errors.
      Instead we now resort to more clearly named methods, removing the need
      for code comments.
      
      This method was chosen based on analysis in
      https://gitlab.com/gitlab-org/release/framework/issues/28. In this issue
      we determined this method has seen a total of 293 lines being changed in
      it. We also noticed that RuboCop determined the ABC size
      (https://www.softwarerenovation.com/ABCMetric.pdf) was too great.
      a8f8af2f9d3f
  3. 19 Oct, 2018 1 commit
    • Bob Van Landuyt's avatar
      Remove the `ForkedProjectLink` model · b055a9ce0a40
      Bob Van Landuyt authored
      This removes the `ForkedProjectLink` model that has been replaced by
      the `ForkNetworkMember` and `ForkNetwork` combination. All existing
      relations have been adjusted to use these new models.
      
      The `forked_project_link` table has been dropped.
      
      The "Forks" count on the admin dashboard has been updated to count all
      `ForkNetworkMember` rows and deduct the number of `ForkNetwork`
      rows. This is because now the "root-project" of a fork network also
      has a `ForkNetworkMember` row. This count could become inaccurate when
      the root of a fork network is deleted.
      b055a9ce0a40
  4. 17 Oct, 2018 1 commit
    • Nick Thomas's avatar
      Use cached readme blobs where appropriate · 69e4502ca2c3
      Nick Thomas authored
      GitLab keeps a cache of the rendered HTML for a repository's README as
      stored in the HEAD branch. However, it was not used in all
      circumstances. In particular, the new blob viewer framework bypassed
      this cache entirely.
      
      This MR ensures a ::ReadmeBlob is returned instead of a ::Blob when
      asking a repository for an individual blob, if the commit and path
      match the readme for HEAD. This makes the cached HTML available to
      consumers, including the blob viewer.
      
      The ReadmeBlob is a simple delegator to the Blob, so should be
      compatible in all cases. Adding the rendered_markdown method is the
      only additional behaviour it contains.
      69e4502ca2c3
  5. 15 Oct, 2018 1 commit
  6. 08 Oct, 2018 1 commit
    • Yorick Peterse's avatar
      Clean up ActiveRecord code in TodosFinder · c454a2f4a6ca
      Yorick Peterse authored
      This refactors the TodosFinder finder according to the new code reuse
      rules, as enforced by the CodeReuse cops. I also changed some of the
      methods to use regular if statements, instead of assignments and/or
      early returns. This results in a more natural flow when reading the
      code, and it makes it harder to accidentally return the wrong result.
      c454a2f4a6ca
  7. 06 Oct, 2018 1 commit
  8. 04 Oct, 2018 1 commit
  9. 02 Oct, 2018 1 commit
    • Alejandro Rodríguez's avatar
      Remove Gitlab::Git::Repository#rugged and Gollum code · 139a1620f420
      Alejandro Rodríguez authored
      Cleanup code, and refactor tests that still use Rugged. After this, there should
      be no Rugged code that access the instance's repositories on non-test
      environments. There is still some rugged code for other tasks like the
      repository import task, but since it doesn't access any repository storage path
      it can stay.
      139a1620f420
  10. 01 Oct, 2018 1 commit
  11. 21 Sep, 2018 2 commits
  12. 18 Sep, 2018 1 commit
  13. 10 Sep, 2018 1 commit
  14. 07 Sep, 2018 2 commits
  15. 06 Sep, 2018 1 commit
  16. 05 Sep, 2018 1 commit
  17. 22 Aug, 2018 2 commits
  18. 20 Aug, 2018 2 commits
    • Gilbert Roulot's avatar
      Remove Gemnasium service · 43b04f62433f
      Gilbert Roulot authored
      43b04f62433f
    • Yorick Peterse's avatar
      Refactor AutocompleteController · c8cc17675ba4
      Yorick Peterse authored
      This refactors the AutocompleteController according to the guidelines
      and boundaries discussed in
      https://gitlab.com/gitlab-org/gitlab-ce/issues/49653. Specifically,
      ActiveRecord logic is moved to different finders, which are then used in
      the controller. View logic in turn is moved to presenters, instead of
      directly using ActiveRecord's "to_json" method.
      
      The finder MoveToProjectFinder is also adjusted according to the
      abstraction guidelines and boundaries, resulting in a much more simple
      finder.
      
      By using finders (and other abstractions) more actively, we can push a
      lot of logic out of the controller. We also remove the need for various
      "before_action" hooks, though this could be achieved without using
      finders as well.
      
      The various finders related to AutcompleteController have also been
      moved into a namespace. This removes the need for calling everything
      "AutocompleteSmurfFinder", instead you can use
      "Autocomplete::SmurfFinder".
      c8cc17675ba4
  19. 16 Aug, 2018 1 commit
  20. 13 Aug, 2018 2 commits
  21. 06 Aug, 2018 1 commit
  22. 03 Aug, 2018 1 commit
  23. 01 Aug, 2018 1 commit
    • Zeger-Jan van de Weg's avatar
      Add repository languages for projects · fc85a3572af6
      Zeger-Jan van de Weg authored
      Our friends at GitHub show the programming languages for a long time,
      and inspired by that this commit means to create about the same
      functionality.
      
      Language detection is done through Linguist, as before, where the
      difference is that we cache the result in the database. Also, Gitaly can
      incrementaly scan a repository. This is done through a shell out, which
      creates overhead of about 3s each run. For now this won't be improved.
      
      Scans are triggered by pushed to the default branch, usually `master`.
      However, one exception to this rule the charts page. If we're requesting
      this expensive data anyway, we just cache it in the database.
      
      Edge cases where there is no repository, or its empty are caught in the
      Repository model. This makes use of Redis caching, which is probably
      already loaded.
      
      The added model is called RepositoryLanguage, which will make it harder
      if/when GitLab supports multiple repositories per project. However, for
      now I think this shouldn't be a concern. Also, Language could be
      confused with the i18n languages and felt like the current name was
      suiteable too.
      
      Design of the Project#Show page is done with help from @dimitrieh. This
      change is not visible to the end user unless detections are done.
      fc85a3572af6
  24. 30 Jul, 2018 1 commit
  25. 25 Jul, 2018 1 commit
    • Yorick Peterse's avatar
      Remove code for dynamically generating routes · d9212d447768
      Yorick Peterse authored
      This adds a database migration that creates routes for any projects and
      namespaces that don't already have one. We also remove the runtime code
      for dynamically creating routes, as this is no longer necessary.
      d9212d447768
  26. 24 Jul, 2018 1 commit
  27. 14 Jul, 2018 1 commit
  28. 12 Jul, 2018 1 commit
  29. 11 Jul, 2018 1 commit
  30. 09 Jul, 2018 1 commit
  31. 06 Jul, 2018 1 commit
  32. 04 Jul, 2018 2 commits
  33. 03 Jul, 2018 1 commit
  34. 30 Jun, 2018 1 commit