Skip to content
Snippets Groups Projects
  1. Apr 11, 2019
  2. Apr 02, 2019
    • Patrick Bajao's avatar
      Download a folder from repository · 6766a0a1
      Patrick Bajao authored
      Add `GetArchiveRequest` to git-archive params.
      
      Modifies `Git::Repository#archive_metadata` to append `path`
      to `ArchivePrefix` so it'll not hit the cache of repository archive
      when it already exists.
      6766a0a1
  3. Mar 12, 2019
  4. Mar 06, 2019
    • Andrew Newdigate's avatar
      Adds the Rubocop ReturnNil cop · 3288e1a8
      Andrew Newdigate authored
      This style change enforces `return if ...` instead of
      `return nil if ...` to save maintainers a few minor review points
      3288e1a8
    • Patrick Bajao's avatar
      Accept force option on commit via API · de5aef3b
      Patrick Bajao authored and Nick Thomas's avatar Nick Thomas committed
      When `force` is set to `true` and `start_branch` is set, the
      branch will be ovewritten with the new commit based on the
      `HEAD` of the `start_branch`.
      
      This commit includes changes to update the `gitaly-proto` gem.
      de5aef3b
  5. Mar 04, 2019
  6. Mar 01, 2019
  7. Feb 25, 2019
    • Oswaldo Ferreir's avatar
      Support merge to ref for merge-commit and squash · 1ad69967
      Oswaldo Ferreir authored
      Adds the ground work for writing into
      the merge ref refs/merge-requests/:iid/merge the
      merge result between source and target branches of
      a MR, without further side-effects such as
      mailing, MR updates and target branch changes.
      1ad69967
  8. Feb 07, 2019
  9. Feb 06, 2019
  10. Jan 10, 2019
  11. Dec 07, 2018
    • Zeger-Jan van de Weg's avatar
      Allow public forks to be deduplicated · 896c0bdb
      Zeger-Jan van de Weg authored
      When a project is forked, the new repository used to be a deep copy of everything
      stored on disk by leveraging `git clone`. This works well, and makes isolation
      between repository easy. However, the clone is at the start 100% the same as the
      origin repository. And in the case of the objects in the object directory, this
      is almost always going to be a lot of duplication.
      
      Object Pools are a way to create a third repository that essentially only exists
      for its 'objects' subdirectory. This third repository's object directory will be
      set as alternate location for objects. This means that in the case an object is
      missing in the local repository, git will look in another location. This other
      location is the object pool repository.
      
      When Git performs garbage collection, it's smart enough to check the
      alternate location. When objects are duplicated, it will allow git to
      throw one copy away. This copy is on the local repository, where to pool
      remains as is.
      
      These pools have an origin location, which for now will always be a
      repository that itself is not a fork. When the root of a fork network is
      forked by a user, the fork still clones the full repository. Async, the
      pool repository will be created.
      
      Either one of these processes can be done earlier than the other. To
      handle this race condition, the Join ObjectPool operation is
      idempotent. Given its idempotent, we can schedule it twice, with the
      same effect.
      
      To accommodate the holding of state two migrations have been added.
      1. Added a state column to the pool_repositories column. This column is
      managed by the state machine, allowing for hooks on transitions.
      2. pool_repositories now has a source_project_id. This column in
      convenient to have for multiple reasons: it has a unique index allowing
      the database to handle race conditions when creating a new record. Also,
      it's nice to know who the host is. As that's a short link to the fork
      networks root.
      
      Object pools are only available for public project, which use hashed
      storage and when forking from the root of the fork network. (That is,
      the project being forked from itself isn't a fork)
      
      In this commit message I use both ObjectPool and Pool repositories,
      which are alike, but different from each other. ObjectPool refers to
      whatever is on the disk stored and managed by Gitaly. PoolRepository is
      the record in the database.
      Unverified
      896c0bdb
  12. Nov 26, 2018
  13. Nov 21, 2018
  14. Nov 20, 2018
  15. Nov 16, 2018
  16. Nov 14, 2018
  17. Nov 13, 2018
    • gfyoung's avatar
      Enable even more frozen string in lib/gitlab · ebf98f27
      gfyoung authored
      Enables frozen string for the following:
      
      * lib/gitlab/fogbugz_import/**/*.rb
      * lib/gitlab/gfm/**/*.rb
      * lib/gitlab/git/**/*.rb
      * lib/gitlab/gitaly_client/**/*.rb
      * lib/gitlab/gitlab_import/**/*.rb
      * lib/gitlab/google_code_import/**/*.rb
      * lib/gitlab/gpg/**/*.rb
      * lib/gitlab/grape_logging/**/*.rb
      * lib/gitlab/graphql/**/*.rb
      * lib/gitlab/graphs/**/*.rb
      * lib/gitlab/hashed_storage/**/*.rb
      * lib/gitlab/health_checks/**/*.rb
      
      Partially address gitlab-org/gitlab-ce#47424.
      ebf98f27
  18. Nov 07, 2018
    • Francisco Javier López's avatar
      Add submodule update API endpoint · 28cbb2ac
      Francisco Javier López authored
      This new endpoint allow users to update a submodule's reference.
      
      The MR involves adding a new operation RPC operation in gitaly-proto
      (see gitlab-org/gitaly-proto!233) and change Gitaly to use this
      new version (see gitlab-org/gitaly!936).
      
      See gitlab-org/gitlab-ce!20949
      Unverified
      28cbb2ac
  19. Nov 06, 2018
  20. Oct 30, 2018
  21. Oct 12, 2018
  22. Oct 10, 2018
    • Zeger-Jan van de Weg's avatar
      Remove Git circuit breaker · 30b4ce94
      Zeger-Jan van de Weg authored
      Was introduced in the time that GitLab still used NFS, which is not
      required anymore in most cases. By removing this, the API it calls will
      return empty responses. This interface has to be removed in the next
      major release, expected to be 12.0.
      Unverified
      30b4ce94
  23. Oct 02, 2018
    • Alejandro Rodríguez's avatar
      Remove Gitlab::Git::Repository#rugged and Gollum code · a99bf447
      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.
      a99bf447
  24. Oct 01, 2018
  25. Sep 19, 2018
  26. Sep 17, 2018
  27. Sep 12, 2018
  28. Sep 06, 2018
  29. Aug 16, 2018
  30. Aug 14, 2018
  31. Aug 08, 2018
  32. Aug 07, 2018
  33. Jul 31, 2018
  34. Jul 27, 2018
  35. Jul 24, 2018
Loading