- 24 Nov, 2016 2 commits
-
-
Douwe Maan authored
-
Chris Wilson authored
-
- 23 Nov, 2016 11 commits
-
-
Dmitriy Zaporozhets authored
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-
Douwe Maan authored
-
Lin Jen-Shin authored
to better reflect the status. Feedback: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7508#note_18858398
-
Valery Sizov authored
-
Ahmad Sherif authored
-
Ahmad Sherif authored
-
Ahmad Sherif authored
-
Ahmad Sherif authored
Closes #23938
-
Ahmad Sherif authored
-
Ahmad Sherif authored
So that it matches the same access given in Projects::CreateService#after_create_actions
-
Ahmad Sherif authored
Use the minimum access level of group link and group member when inserting authorized project records
-
- 22 Nov, 2016 2 commits
-
-
Achilleas Pipinellis authored
-
- 21 Nov, 2016 15 commits
-
-
Tomasz Maczukin authored
-
Z.J. van de Weg authored
Also added tests, and moved the slack test to a better location.
-
Kamil Trzcinski authored
-
Kamil Trzcinski authored
-
Felipe Artur authored
-
Yorick Peterse authored
This refactors repository caching so it's possible to selectively refresh certain caches, instead of just expiring and refreshing everything. To allow this the various methods that were cached (e.g. "tag_count" and "readme") use a similar pattern that makes expiring and refreshing their data much easier. In this new setup caches are refreshed as follows: 1. After a commit (but before running ProjectCacheWorker) we expire some basic caches such as the commit count and repository size. 2. ProjectCacheWorker will recalculate the commit count, repository size, then refresh a specific set of caches based on the list of files changed in a push payload. This requires a bunch of changes to the various methods that may be cached. For one, data should not be cached if a branch used or the entire repository does not exist. To prevent all these methods from handling this manually this is taken care of in Repository#cache_method_output. Some methods still manually check for the existence of a repository but this result is also cached. With selective flushing implemented ProjectCacheWorker no longer uses an exclusive lease for all of its work. Instead this worker only uses a lease to limit the number of times the repository size is updated as this is a fairly expensive operation.
-
Tomasz Maczukin authored
-
Rémy Coutable authored
Also allow merge request to be merged with skipped pipeline and the "only allow merge when pipeline is green" feature enabled Signed-off-by: Rémy Coutable <remy@rymai.me>
-
James Lopez authored
-
Grzegorz Bizon authored
-
Adam Niedzielski authored
-
Yorick Peterse authored
Initializing Rugged objects is way too expensive just to check if a repository exists. Even though we cache this data once in a while we have to refresh this. On GitLab.com we have seen Repository#exists? taking up to _1 minute_ to complete in the absolute worst case, though usually it sits around a second or so. Using File.exist? to instead check if $GIT_DIR/refs exists is a much faster way of checking if a repository was initialized properly.
-
Yorick Peterse authored
This moves the logic of detecting special repository files (e.g. a README or a Koding configuration file) to a single class: Gitlab::FileDetector. Moving this logic into a single place allows this to be re-used more easily. This commit also changes Repository#gitlab_ci_yaml so that its cached similar to other data (e.g. the Koding configuration file).
-
James Lopez authored
-
- 19 Nov, 2016 2 commits
-
-
Kamil Trzcinski authored
-
Ruben Davila authored
-
- 18 Nov, 2016 8 commits
-
-
Semyon Pupkov authored
-
Ahmad Sherif authored
Closes #23150
-
Felipe Artur authored
-
Kamil Trzcinski authored
-
Adam Niedzielski authored
We need to handle annotated tags that are created via GitLab UI. Annotated tags have their own SHA. We have to pass this SHA to post-receive hook to mirror what happens when someone creates an annotated tag in their local repository and pushes it via command line. In order to obtain tag SHA we first have to create it. This is a bit confusing because we create the tag before executing pre-hooks, but there is no way to create a tag outside the repository. If pre-hooks fail we have to clean up after ourselves.
-
Z.J. van de Weg authored
-
Robert Speicher authored
This also updates _some_ specs to use these new methods, just to serve as an example for others going forward, but by no means is this exhaustive. Original implementations at !5992 and !6012. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/20944
-
Felipe Artur authored
-