- 08 12月, 2018 1 次提交
-
-
由 Zeger-Jan van de Weg 提交于
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.
-
- 07 12月, 2018 26 次提交
-
-
由 George Tsiolis 提交于
-
由 Mark Chao 提交于
-
由 Mark Chao 提交于
If a commit has two parents, one is direct ancestor, and one is not, and the order of `commits` is in such fashion that the non-ancestor side is visited first, the commit would be determined as non-ancestor, when in fact it can be. Therefore we should first determine all direct ancestors prior to analyzing.
-
由 Nick Thomas 提交于
-
由 Dylan Griffith 提交于
-
由 Mark Chao 提交于
Analyze new commits graph to determine each commit's merge commit. Fix "merged with [commit]" info for merge requests being merged automatically by other actions. Allow analyzing upto the relevant commit
-
由 Douwe Maan 提交于
-
由 Douwe Maan 提交于
-
由 Tomasz Maczukin 提交于
-
由 Kamil Trzciński 提交于
Brings back 1e8f1de0 reverted in !23644 Closes #52342 See merge request gitlab-org/gitlab-ce!23436
-
-
由 Oswaldo Ferreira 提交于
We don't need a series of attributes to render diff files on discussions.json request. Therefore this MR removes lots of unnecessary attributes from the request, mainly the highlighted diff lines, which are pretty expensive.
-
由 Robert Speicher 提交于
This reverts commit 1e8f1de0, reversing changes made to 62d97112.
-
由 Francisco Javier López 提交于
-
由 Jan Provaznik 提交于
Fast destroy is used only if the feature flag is enabled, otherwise uploads are still deleted using carrier wave. It's disabled by default.
-
由 Jan Provaznik 提交于
It gathers list of file paths to delete before destroying the parent object. Then after the parent_object is destroyed these paths are scheduled for deletion asynchronously. Carrierwave needed associated model for deleting upload file. To avoid this requirement, simple Fog/File layer is used directly for file deletion, this allows us to use just a simple list of paths.
-
由 Kamil Trzciński 提交于
This reverts commit 3560b119.
-
由 Kamil Trzciński 提交于
This changes `correlation_id` to be `correlation-id` when passed via jobs
-
由 Kamil Trzciński 提交于
The Correlation ID is taken or generated from received X-Request-ID. Then it is being passed to all executed services (sidekiq workers or gitaly calls). The Correlation ID is logged in all structured logs as `correlation_id`.
-
由 Nick Thomas 提交于
-
由 Nick Thomas 提交于
-
由 Dylan Griffith 提交于
-
由 Akos Gyimesi 提交于
Also, the error message became shorter.
-
由 Akos Gyimesi 提交于
-
由 Fatih Acet 提交于
-
由 Jan Provaznik 提交于
-
- 06 12月, 2018 11 次提交
-
-
由 Phil Hughes 提交于
Renders mode changed and renamed file merge request diff viewers on the frontend. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/52607
-
由 Luke Bennett 提交于
This reverts commit 427c1e72, reversing changes made to 5aac64a7.
-
由 James Lopez 提交于
Resolve "Can add an existing group member into a group project with new permissions but permissions are not overridden"
-
由 Shinya Maeda 提交于
Introduce the following variables - CI_MERGE_REQUEST_ID - CI_MERGE_REQUEST_IID - CI_MERGE_REQUEST_REF_PATH - CI_MERGE_REQUEST_PROJECT_ID - CI_MERGE_REQUEST_PROJECT_PATH - CI_MERGE_REQUEST_PROJECT_URL - CI_MERGE_REQUEST_TARGET_BRANCH_NAME - CI_MERGE_REQUEST_SOURCE_PROJECT_ID - CI_MERGE_REQUEST_SOURCE_PROJECT_PATH - CI_MERGE_REQUEST_SOURCE_PROJECT_URL - CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
-
由 Jan Provaznik 提交于
* removed 100 limit on file search results because we load all results anyway * expensive processing (parsing match content, utf encoding) is done only for selected page in paginated output
-
由 Winnie Hellmann 提交于
-
由 Scott Hampton 提交于
-
由 Mike Greiling 提交于
-
由 Paul Slaughter 提交于
- This is needed by the Web Terminal to check environment
-
由 Stan Hu 提交于
An unknown public GPG key will result in a GPGME::Error thrown from gpg, which would cause an Error 500 on the signatures endpoint. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/54729
-
由 Michael Tsyganov 提交于
Signed-off-by: NRémy Coutable <remy@rymai.me>
-
- 05 12月, 2018 2 次提交
-
-
由 Francisco Javier López 提交于
-
-