| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
We still rely on the Dirty API for project rename (before/after) values,
but we don't access the dirty api from the service class anymore.
The previous value is now part of the initialization, which makes it
easier to test and the behavior is clearer.
The same was done with the `rename_repo` on the Storage classes, we now
provide before and after values as part of the method signature.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
During a previous refactor on project model, code related to the
hashed storage was extracted into AfterRenameService, see
4b9c17f196bab6075563f62d01f9db65c1a0515c.
The "path_before" was changed from using `previous_changes['path']` to
`path_was`. They are not equivalent. `path_was` exists reliably only
*before* persisting to the database. After database persistence is
confirmed, the value is moved to `previous_changes[:attribute_name]`.
Because the repository/attachments rename or storage upgrade happens
after it was persisted to the database, we were in fact not informing
the right parameters (and therefore not doing what it was supposed to).
|
|\
| |
| |
| |
| | |
Set ActionController raise_on_unfiltered_parameters to true
See merge request gitlab-org/gitlab-ce!24443
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
'master'
Cleanup stale +deleted repo paths on project removal (adjusts project removal bug)
Closes #46146
See merge request gitlab-org/gitlab-ce!24269
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1. When removing projects, we can end-up leaving the +deleted
repo path dirty and not successfully removing the non-deleted
namespace (mv process is not atomic and can be killed without
fully moving the path).
2. In order to solve that, we're adding a clean-up phase on
ensure which will schedule possible staled +deleted path deletion.
Note that we don't check the current state (if there is or not a
repo) in order to schedule the deletion. That's intentional
in order to leverage Gitlab::GitalyClient::NamespaceService#remove
idempotency and ensure consistency.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
Port generic Helm upgrade functionality to CE
See merge request gitlab-org/gitlab-ce!23924
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Port from EE generic upgrade related functionality used to upgrade Helm
applications
Remove memoization which could be incorrect
It looks like we are memoizing without regard to the method's argument
so this could result in an incorrect upgrade_command
Remove `const_get` indirection now we are no longer in EE
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Improve MilestonesFinder to accept project and group relations
Closes #47988
See merge request gitlab-org/gitlab-ce!24325
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Instead of querying relations into ids we just pass them to the model
scope because the scope supports it now.
Also changes other calls to `Milestone.for_projects_and_groups`
|
| |_|_|/
|/| | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Refactor Project#after_create_default_branch
See merge request gitlab-org/gitlab-ce!24329
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This refactors some of the logic used for protecting default branches,
in particular Project#after_create_default_branch. The logic for this
method is moved into a separate service class. Ideally we'd get rid of
Project#after_create_default_branch entirely, but unfortunately
Project#after_import depends on it. This means it has to stick around
until we also refactor Project#after_import.
For branch protection levels we introduce
Gitlab::Access::BranchProtection, which provides a small wrapper around
Integer based branch protection levels. Using this class removes the
need for having to constantly refer to Gitlab::Access::PROTECTION_*
constants.
|
|\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Adjust applied suggestion reverting previous changes
Closes #56017
See merge request gitlab-org/gitlab-ce!24250
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
1. Avoid suggestions being applied on the same file
from reverting previous changes
2. Gracefully use and handle file changes error
when updating the file (though, it does not totally
solves the sync problem for multiple suggestion
applications at once)
|
| |/ /
|/| | |
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
AuditEventService isn't equipped to handle logging of the destruction of
entities such as CI pipelines. It's a project-level event that operates
on a pipeline. The current log doesn't even indicate that the pipeline
is being destroyed.
This is a CE backport of
https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/9105. We're
removing the auditing call because it breaks the EE implementation.
|
|/ |
|
|\
| |
| |
| |
| | |
Hashed Storage: Only set as `read_only` when starting the per-project migration
See merge request gitlab-org/gitlab-ce!24128
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In the previous code, we locked the project during the migration
scheduling step, which works fine for small setups, but can be
problematic in really big installations.
We now moved the logic to inside the worker, so we minimize the time a
project will be read-only. We also make sure we only do that if
reference counter is `0` (no current operation is in progress).
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Import issues from CSV
Closes #49231
See merge request gitlab-org/gitlab-ce!23532
|
| | |
| | |
| | |
| | | |
Load whole file in memory to simplify code
|
| | |
| | |
| | |
| | | |
Also refactored cleanup view to use the same localized string
|
| | |
| | |
| | |
| | | |
Also changes old calls to the service
|
| | |
| | |
| | |
| | | |
Process CSV uploads async using a worker then email results
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
CE port: Use parent instead of project for quick actions
See merge request gitlab-org/gitlab-ce!24124
|
| | | |
| | | |
| | | |
| | | | |
Add support for group entities to quick actions
|
|/ / /
| | |
| | |
| | | |
Re-use operations controller which already handles tracing settings.
|
|\ \ \
| |/ /
|/| |
| | |
| | | |
Refactor the logic of updating head pipelines for merge requests
See merge request gitlab-org/gitlab-ce!23502
|
| | |
| | |
| | |
| | | |
Sort out some logic
|
| | |
| | |
| | |
| | |
| | | |
This commit prepares the structure for the upcoming feature error
tracking.
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
These are data columns that store runtime configuration
of build needed to execute it on runner and within pipeline.
The definition of this data is that once used, and when no longer
needed (due to retry capability) they can be freely removed.
They use `jsonb` on PostgreSQL, and `text` on MySQL (due to lacking
support for json datatype on old enough version).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix coding style
Improve coding style
Decouple UPDATE and DELETE operations of asset links
Rename links_attributes to assets:links
Rename exposed param and updated spec
|
| |
| |
| |
| | |
Fix spec for mysql unique validation failure
|
|/
|
|
|
|
| |
- Add Releases::Links model
- Expose it in release API
- Add integration tests
|
|\
| |
| |
| |
| |
| |
| | |
Handle 'git push -o ci.skip'
Closes #18667
See merge request gitlab-org/gitlab-ce!15643
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
gitlab-org/gitlab-shell!166 added support for collecting push options
from the environment, and passing them along to the
/internal/post_receive API endpoint.
This change handles the new push_options JSON element in the payload,
and passes them on through to the GitPushService and GitTagPushService
services.
Futhermore, it adds support for the first push option, ci.skip. With
this change, one can use 'git push -o ci.skip' to skip CI pipe
execution. Note that the pipeline is still created, but in the "skipped"
state, just like with the 'ci skip' commit message text.
Implements #18667
|
|\ \
| | |
| | |
| | |
| | | |
Bump Ruby on Rails to 5.0.7.1
See merge request gitlab-org/gitlab-ce!23396
|
| | |
| | |
| | |
| | | |
Fix the CVE-2018-16476 vulnerability.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
[master] Security todos not redacted for guests
See merge request gitlab/gitlabhq!2697
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Fix leaking information of confidential issues on TODOs
when user is downgraded to guest access.
|
|\ \ \ \
| |_|_|/
|/| | | |
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
[master] Validate projects in MR build service
See merge request gitlab/gitlabhq!2678
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This validates the correct abilities for both projects. Only
`read_project` isn't enough:
For the `source_project` we validate `create_merge_request_from` this
also validates that the user has developer access to the project.
For the `target_project` we validate `create_merge_reqeust_in` this
also validates that the user has access to the project's repository.
To avoid generating diffs for unrelated projects we also validate that
the projects are in the same fork network now.
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
[master] SSRF in project imports with LFS
See merge request gitlab/gitlabhq!2720
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add spec for all release API - GET, POST, PUT, DELETE.
Also, fixes some minior bugs.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Introduce DELETE endpoint in Release API
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
CreateReleaseService and UpdateReleaseService now takes all the release
attributes as constructor parameters. This will simplify attribute
expansion
|