- 13 Feb, 2017 1 commit
-
-
Douwe Maan authored
-
- 07 Feb, 2017 1 commit
-
-
Douwe Maan authored
-
- 06 Feb, 2017 1 commit
-
-
Douwe Maan authored
-
- 03 Feb, 2017 1 commit
-
-
Sean McGivern authored
Backport changes from the EE-only squash implementation, which would otherwise conflict when merge CE into EE. <https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/1024>
-
- 26 Jan, 2017 2 commits
-
-
Robert Speicher authored
-
Stan Hu authored
In repositories such as https://github.com/git/git.git, annotated tags can point to blobs, not necessarily to commits. `Repository` attempts to return the tags in the order of the commit date, but if a commit is not available the previous implementation would error due to a `nil` target. This change modifies the code to use the current time if a commit is not associated with the given tag. Closes #27228
-
- 15 Jan, 2017 1 commit
-
-
Minqi Pan authored
Signed-off-by: Rémy Coutable <remy@rymai.me>
-
- 06 Jan, 2017 1 commit
-
-
Lin Jen-Shin authored
-
- 04 Jan, 2017 1 commit
-
-
Lin Jen-Shin authored
-
- 20 Dec, 2016 4 commits
-
-
Hiroyuki Sato authored
-
Hiroyuki Sato authored
-
Hiroyuki Sato authored
-
Hiroyuki Sato authored
-
- 13 Dec, 2016 1 commit
-
- 09 Dec, 2016 1 commit
-
-
Lin Jen-Shin authored
-
- 08 Dec, 2016 1 commit
-
-
Lin Jen-Shin authored
more consistent across different methodst
-
- 07 Dec, 2016 2 commits
-
-
Lin Jen-Shin authored
So we still commit outside the hooks, and only update ref inside the hooks. There are only two exceptions: * Whenever it's adding a tag. We can't add a tag without committing, unfortunately. See !7700 * Whenever source project is in another repository. We'll need to fetch ref otherwise commits can't be made. See the whole discussion starting from: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7237#note_19210942
-
Yorick Peterse authored
-
- 06 Dec, 2016 2 commits
-
-
Yorick Peterse authored
This method already uses the cached method Repository#branch_count so there's no point in also caching has_visible_content?. Fixes gitlab-org/gitlab-ce#25278
-
Lin Jen-Shin authored
Add back check if we're losing commits in a merge.
-
- 05 Dec, 2016 1 commit
-
-
Lin Jen-Shin authored
git operation inside GitHooksService. Feedback: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7237#note_19210942 TODO: Fix tests for update_branch_with_hooks
-
- 28 Nov, 2016 2 commits
-
-
Adam Niedzielski authored
We only know the tag SHA after we create the tag. This means that we pass a different value to the hooks that happen before creating the tag, and a different value to the hooks that happen after creating the tag. This is not an ideal situation, but it is a trade-off we decided to make. For discussion of the alternatives please refer to https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7700#note_18982873 "pre-receive" and "update" hooks always get the SHA of the commit that the tag points to. "post-receive" gets the tag SHA if it is an annotated tag or the commit SHA if it is an lightweight tag. Currently we always create annotated tags if UI is used.
-
Adam Niedzielski authored
This reverts commit ae51774b.
-
- 21 Nov, 2016 3 commits
-
-
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.
-
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).
-
- 18 Nov, 2016 1 commit
-
-
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.
-
- 16 Nov, 2016 2 commits
-
-
Nick Thomas authored
gitlab-shell v3.6.6 would give project paths like so: * namespace/project gitlab-shell v4.0.0 can give project paths like so: * /namespace1/namespace2/project * /namespace/project * /path/to/repository/storage/namespace1/namespace2/project * /path/to/repository/storage/namespace/project
-
Valery Sizov authored
-
- 11 Nov, 2016 1 commit
-
-
Grzegorz Bizon authored
-
- 09 Nov, 2016 1 commit
-
-
Grzegorz Bizon authored
-
- 08 Nov, 2016 1 commit
-
-
Valery Sizov authored
-
- 07 Nov, 2016 1 commit
-
-
Grzegorz Bizon authored
-
- 28 Oct, 2016 2 commits
-
-
Alejandro Rodríguez authored
When we updated gitlab_git to 10.4.1, `tag.target` changed from pointing to the sha of the tag to the sha of the commit the tag points to. The problem is that only annotated tags have `object_sha`s, lightweight tags don't (it's nil), so (only) in their case we still need to use `tag.target`.
-
Dmitriy Zaporozhets authored
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-
- 23 Oct, 2016 1 commit
-
-
Stan Hu authored
After a project import, there's a chance that the UI checks the branch count before the project has been imported. This change causes more of the keys to be flushed after an import and forces a rebuild of the repository cache. Closes #13518
-
- 14 Oct, 2016 1 commit
-
-
Z.J. van de Weg authored
-
- 11 Oct, 2016 1 commit
-
-
tiagonbotelho authored
-
- 10 Oct, 2016 1 commit
-
-
Adam Niedzielski authored
Fixes #21800.
-
- 09 Oct, 2016 1 commit
-
-
tiagonbotelho authored
-