| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
The helper creates a fork of a project with all provided attributes,
but skipping the creation of the repository on disk.
|
|\
| |
| |
| |
| |
| |
| | |
Resolve "Lock issue and merge request"
Closes #18608
See merge request gitlab-org/gitlab-ce!14531
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
18608-lock-issues-v2
# Conflicts:
# db/schema.rb
|
| |\ \ |
|
| |\ \ \ |
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| | |_|_|/
| |/| | |
| | | | |
| | | | |
| | | | | |
Conflicts:
app/models/project.rb
db/schema.rb
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Before this change, the MR counter in the sidebar would be wrong if an MR had
been merged since the last update, but not opened or closed, as merging did not
trigger a counter cache update.
|
| | |_|/
| |/| |
| | | |
| | | | |
MergeRequest#merge_jid should be cleaned up whenever we hit a known error on MergeService#execute. This way we can keep track if the MR is really "ongoing" or "stuck"
|
|\ \ \ \
| |/ / / |
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This ensures the open issues/MR count caches are refreshed properly when
creating new issues or MRs. This MR also includes a change to the cache
keys to ensure all caches are rebuilt on the fly.
This particular problem was not caught in the test suite due to a null
cache being used, resulting in all calls that would use a cache using
the underlying data directly. In production the code would fail because
a newly saved record returns an empty hash in #changes meaning checks
such as `state_changed? || confidential_changed?` would return false for
new rows, thus never updating the counters.
Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/38061
|
|/ / |
|
|/ |
|
| |
|
| |
|
|\
| |
| |
| |
| | |
Move GitHooksService into Gitlab::Git
See merge request !13739
|
| | |
|
|\ \
| |/
|/|
| |
| |
| |
| | |
Cache the number of open issues and merge requests
Closes #36622
See merge request !13639
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Every project page displays a navigation menu that in turn displays the
number of open issues and merge requests. This means that for every
project page we run two COUNT(*) queries, each taking up roughly 30
milliseconds on GitLab.com. By caching these numbers and refreshing them
whenever necessary we can reduce loading times of all these pages by up
to roughly 60 milliseconds.
The number of open issues does not include confidential issues. This is
a trade-off to keep the code simple and to ensure refreshing the data
only needs 2 COUNT(*) queries instead of 3. A downside is that if a
project only has 5 confidential issues the counter will be set to 0.
Because we now have 3 similar counting service classes the code
previously used in Projects::ForksCountService has mostly been moved to
Projects::CountService, which in turn is reused by the various service
classes.
Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/36622
|
|\ \
| |/
|/|
| |
| |
| |
| | |
copy milestones and labels from issue when using create merge request button
Closes #35343
See merge request !13461
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
36089-handle-ref-failure-better
* upstream/master: (62 commits)
Update gitlab.po: Missing 'r' in "Fouché" that comes from "Fourcher" verb.
Docs: update user docs index
Fix minor typos in views
Fix Layout/SpaceBeforeBlockBraces violation in bin/changelog_spec
Merge branch 'rs-alphanumeric-ssh-params' into 'security-9-4'
Merge branch 'import-symlinks-9-3' into 'security-9-3'
Fix wrong method call on prometheus histogram
Document new all-in-one Helm chart - docs
Fix 404 on link path
Fix line numbers not matching up to code in code viewer.
Hide overflow-x on collapsed sidebar
removed global use of breakpoint checker
Increase performance of the breakpoint size checker
Filter sensitive query string parameters from NGINX access logs
Added a template for database changes
Render new issue link in failed job as a regular link instead of a UJS one
Include RE2 in the upgrade docs
Remove affix plugin from issuable sidebar with new navigation
Fix linter error
alternative route for download archive
...
|
| |
| |
| |
| | |
Signed-off-by: Rémy Coutable <remy@rymai.me>
|
|/ |
|
|
|
|
|
|
|
|
|
| |
`:mailer` is needed to pick it easily, while
`type: :mailer` is needed for picking it automatically for
tests located in spec/mailers/*_spec.rb
It's a bit complicated in spec/services/notification_service_spec.rb
but we'll leave it alone for now.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Having two states that essentially mean the same thing is very much like
having a boolean "true" and boolean "mostly-true": it's rather silly.
This commit merges the "reopened" state into the "opened" state while
taking care of system notes still showing messages along the lines of
"Alice reopened this issue".
A big benefit from having only two states (opened and closed) is that
indexing and querying becomes simpler and more performant. For example,
to get all the opened queries we no longer have to query both states:
SELECT *
FROM issues
WHERE project_id = 2
AND state IN ('opened', 'reopened');
Instead we can query a single state directly, which can be much faster:
SELECT *
FROM issues
WHERE project_id = 2
AND state = 'opened';
Further, only having two states makes indexing easier as we will only
ever filter (and thus scan an index) using a single value. Partial
indexes could help but aren't supported on MySQL, complicating the
development process and not being helpful for MySQL.
|
|
|
|
| |
Signed-off-by: Rémy Coutable <remy@rymai.me>
|
|
|
|
|
|
| |
services: true, no_db: true, api: true
Signed-off-by: Rémy Coutable <remy@rymai.me>
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
Don't mark empty MRs as merged on push to the target branch
Closes #32800
See merge request !12711
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When we push to an MR's target branch, we check if the MR's HEAD commit is
contained in the push. This lets us mark MRs as merged if they were merged
manually.
However, we also added a feature where you can create an empty MR from an
issue. If that MR is created around the time of a merge to the default branch,
we would process the push after creating the MR, and consider it to be a manual
merge.
To fix that, we exclude empty MRs from this process. If they are empty, they
were empty before the push we're processing, so we shouldn't touch them!
|
|/ |
|
|
|
|
| |
checks before actual deletion
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix https://gitlab.com/gitlab-org/gitlab-ce/issues/27070
Deprecate "chat commands" in favor of "slash commands"
We looked for things like:
- `slash commmand`
- `slash_command`
- `slash-command`
- `SlashCommand`
|
| |
|
| |
|
| |
|
|
|
|
|
| |
If our side of the conflict file has a trailing newline, and we are picking
sections, not editing the whole content, then add a trailing newline back.
|
|\
| |
| |
| |
| | |
Set head pipeline when creating merge requests
See merge request !11669
|
| | |
|
|/ |
|
| |
|
| |
|
| |
|