| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Remove RemoveOldWebHookLogsWorker
Closes #52592
See merge request gitlab-org/gitlab-ce!23628
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Log and pass correlation-id between Unicorn, Sidekiq and Gitaly
See merge request gitlab-org/gitlab-ce!22844
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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`.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Use FastDestroy for deleting uploads
Closes #46069
See merge request gitlab-org/gitlab-ce!20977
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Upgrade gitlab-ui dependency
See merge request gitlab-org/gitlab-ce!23611
|
| | | | | | | |
|
| | | | | | | |
|
| | |/ / / /
| |/| | | | |
|
|\ \ \ \ \ \
| |_|/ / / /
|/| | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Disable Sidekiq feature flag check if features table does not exist
Closes #54718
See merge request gitlab-org/gitlab-ce!23639
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The GitLab Development Kit initialization failed because the Sidekiq
initializer was attempting to look up a feature flag when the `features`
table hadn't been created yet.
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/54718
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Allow internal references to be removed
Closes #19376
See merge request gitlab-org/gitlab-ce!23189
|
| | | | | | |
|
|/ / / / / |
|
|/ / / /
| | | |
| | | |
| | | | |
Signed-off-by: Rémy Coutable <remy@rymai.me>
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Setup Jest test environment
See merge request gitlab-org/gitlab-ce!23406
|
| | | | | |
|
|\ \ \ \ \
| |_|/ / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Encrypt runners tokens
Closes #51232 and #52931
See merge request gitlab-org/gitlab-ce!23412
|
| |\ \ \ \
| | |/ / /
| | | | |
| | | | |
| | | | |
| | | | | |
fix/gb/encrypt-runners-tokens
* commit '83f0798e7dc588f0e4cb6816daadeef7dbfc8b81': (101 commits)
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
fix/gb/encrypt-runners-tokens
* commit '6852680584a1b22788f451457a6042eabf862a73': (57 commits)
|
| |\ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
* master: (243 commits)
Conflicts:
db/schema.rb
lib/gitlab/import_export/import_export.yml
|
| | | | | | | |
|
| | | | | | | |
|
| |_|_|/ / /
|/| | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
spec/features/projects/wiki/user_views_wiki_page_spec.rb""
This reverts commit 1292b99b742fd83438b011d3082662d354b3330e.
|
| |_|/ / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Adds gitlab.impersonation_enabled config option defaulting to true to
keep the current default behaviour.
Only the act of impersonation is modified, impersonation token
management is not affected.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
[master] Resolve: "Provide email notification when a user changes their email address"
See merge request gitlab/gitlabhq!2587
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
[master] Resolve "Reflected XSS in OAuth Authorize window due to redirect_uri allowing arbitrary protocols"
See merge request gitlab/gitlabhq!2572
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
[master] Resolve "Personal access token with only `read_user` scope can be used to authenticate any web request"
See merge request gitlab/gitlabhq!2583
|
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | | |
[Master] Redact sensitive information on gitlab-workhorse log
See merge request gitlab/gitlabhq!2584
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Correctly handle data-loss scenarios when encrypting columns
Closes #53763
See merge request gitlab-org/gitlab-ce!23306
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If the EncryptColumns background migration runs in a sidekiq with a
stale view of the database schema, or when the purported destination
columns don't actually exist, data loss can result. Attempt to work
around these issues by reloading schema information before running
the migration, and raising errors if the model reports that any of its
source or destination columns are missing.
|
|\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Suggest issues when typing title
Closes #22071
See merge request gitlab-org/gitlab-ce!22866
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This suggests possibly related issues when the user types a title.
This uses GraphQL to allow the frontend to request the exact
data that is requires. We also get free caching through the Vue Apollo
plugin.
With this we can include the ability to import .graphql files in JS
and Vue files.
Also we now have the Vue test utils library to make testing
Vue components easier.
Closes #22071
|
|/ / / /
| | | |
| | | |
| | | |
| | | | |
See
https://github.com/abonas/kubeclient/blob/v4.0.0/lib/kubeclient/common.rb#L395
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Explicitly set locale fallbacks
Closes #54274
See merge request gitlab-org/gitlab-ce!23271
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
With a recent change in i18n, default language is not
included in fallbacks by default. This causes that
MissingTranslationData exception is raised both in
development and production mode.
This patch sets explicitly fallbacks language to english
which assures that english is used for missing translations.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When switching to rails 5, we added migration version to all migration
classes. This patch makes it possible to run versioned migrations
also with rails 4
|
|/ / /
| | |
| | |
| | | |
Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>
|
| | | |
|
| |/
|/|
| |
| |
| |
| |
| |
| | |
This significantly improves performance and reduces memory consumption
when parsing XML files. On a test with 124 JUnit files from a CE build,
there was about a 4x reduction in processing time.
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/54068
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* similar to rails 5 it assures that index length is set for blob
columns also in rails 4
* it also ignores multiple definitions of indexes for mysql, for some
tables we define multiple indexes on the same set of columns, but with
different parameters (opclasses, where), these are not supported by
mysql adapter so the second definition of index is skipped
|
| |
| |
| |
| |
| | |
* updates Gemfile
* uses Rails 5 unless explicitly disabled
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Add pages javascripts to intialize clusters for group pages
- Move specs asserting gcp specific validations from controller into
UpdateService spec
- Also teach Clusters::ApplicationController about groups
|
| | |
|
|\ \
| | |
| | |
| | |
| | | |
Revert "Merge branch 'blackst0ne-update-push-new-merge-request-url' into 'master'"
See merge request gitlab-org/gitlab-ce!22875
|
| | |
| | |
| | |
| | |
| | | |
'master'"
This reverts merge request !22526
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add more chaos to GitLab
Closes #53362 and #52767
See merge request gitlab-org/gitlab-ce!22746
|