Age | Commit message (Collapse) | Author |
|
|
|
to "for all new and renamed projects""
|
|
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.
|
|
|
|
Stop building Route rows on the fly
See merge request gitlab-org/gitlab-ce!20313
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Resolve "Add Metrics to Operations Tab"
Closes #45739
See merge request gitlab-org/gitlab-ce!20025
|
|
|
|
|
|
This significantly improves performance when a user pushes many references.
project.path_locks.any? doesn't cache the output and runs `SELECT 1 AS one
FROM "path_locks" WHERE project_id = N` each time. When there are thousands
of refs being pushed, this can time out the unicorn worker.
CE port for https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/6159.
|
|
|
|
Fixes rejected pushes from maintainers
Closes #46337
See merge request gitlab-org/gitlab-ce!18968
|
|
Multiple Sidekiq workers can run in the spec, causing `Project.find`
to be run in different places. Instead of setting a fixed number of
calls, just use `allow`.
|
|
Expire Wiki content cache after importing a repository
Closes #47546
See merge request gitlab-org/gitlab-ce!19617
|
|
|
|
|
|
Before the push git would make a call to
`/:namespace/:project/git-receive-pack`. This would perform an access
check without a ref. So the `Project#branch_allows_maintainer_push?`
would return false.
This adjusts `Project#branch_allows_maintainer_push?` to return true
when passing no branch name if there are merge requests open that
would allow the user to push.
The actual check then happens when a call to
`/api/v4/internal/allowed` is made from a git hook.
|
|
The cache state for Wikis that were imported via GitHub or Bitbucket does
not appear to have been flushed after a successful import.
Closes #47546
|
|
|
|
Customizable favicon
Closes #15661
See merge request gitlab-org/gitlab-ce!14497
|
|
Resolve "ActionView::Template::Error: undefined method `human_import_status_name"
Closes #47208
See merge request gitlab-org/gitlab-ce!19470
|
|
ProjectImportState#human_status_name
|
|
Rephrase Merge Request Maintainer Edit
See merge request gitlab-org/gitlab-ce!19061
|
|
|
|
branch"
"Maintainer" will be freed to be used for #42751
|
|
runner
|
|
|
|
|
|
ObjectStore uploader requires presence of associated `uploads` record
when deleting the upload file (through the carrierwave's after_commit
hook) because we keep info whether file is LOCAL or REMOTE in `upload`
object.
For this reason we can not destroy uploads as "dependent: :destroy" hook
because these would be deleted too soon. Instead we rely on
carrierwave's hook to destroy `uploads` in after_commit hook.
But in before_destroy hook we still have to delete not-mounted uploads
(which don't use carrierwave's destroy hook). This has to be done in
before_Destroy instead of after_commit because `FileUpload` requires
existence of model's object on destroy action.
This is not ideal state of things, in a next step we should investigate
how to unify model dependencies so we can use same workflow for all
uploads.
Related to #45425
|
|
Add missing parens to make consistent in project_spec and runner_spec
See merge request gitlab-org/gitlab-ce!18808
|
|
|
|
|
|
|
|
|
|
'44542-move-import-specific-attributes-out-of-the-project-model-ce-port' into 'master'
Resolve "Move `import_status` out of `projects`"
See merge request gitlab-org/gitlab-ce!18688
|
|
|
|
|
|
|
|
|
|
|
|
ProjectSettings
|
|
|
|
Legacy disk path refactor
Closes gitaly#1111
See merge request gitlab-org/gitlab-ce!18364
|
|
Direct disk access is done through Gitaly now, so the legacy path was
deprecated. This path was used in Gitlab::Shell however. This required
the refactoring in this commit.
Added is the removal of direct path access on the project model, as that
lookup wasn't needed anymore is most cases.
Closes https://gitlab.com/gitlab-org/gitaly/issues/1111
|