Age | Commit message (Collapse) | Author |
|
GitLab keeps a cache of the rendered HTML for a repository's README as
stored in the HEAD branch. However, it was not used in all
circumstances. In particular, the new blob viewer framework bypassed
this cache entirely.
This MR ensures a ::ReadmeBlob is returned instead of a ::Blob when
asking a repository for an individual blob, if the commit and path
match the readme for HEAD. This makes the cached HTML available to
consumers, including the blob viewer.
The ReadmeBlob is a simple delegator to the Blob, so should be
compatible in all cases. Adding the rendered_markdown method is the
only additional behaviour it contains.
|
|
Remove Koding integration and documentation
Closes #39697
See merge request gitlab-org/gitlab-ce!22334
|
|
This integration no longer works and does not appear to be supported.
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/39697
|
|
As we now support getting the merge base for multiple revisions in
gitaly, we can provide this functionality in our API
|
|
Was introduced in the time that GitLab still used NFS, which is not
required anymore in most cases. By removing this, the API it calls will
return empty responses. This interface has to be removed in the next
major release, expected to be 12.0.
|
|
Cleanup code, and refactor tests that still use Rugged. After this, there should
be no Rugged code that access the instance's repositories on non-test
environments. There is still some rugged code for other tasks like the
repository import task, but since it doesn't access any repository storage path
it can stay.
|
|
Implements list_last_commits_for_tree to communicate with the
ListLastCommitsForTree Gitaly RPC
Bumps the Gitaly server version
Bumps the Gitaly-Proto gem version
|
|
|
|
* Only truthy values are cached in Redis.
* All values are cached in RequestStore and in an instance variable.
|
|
|
|
|
|
Introduced by https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/20087,
this has been tested on .com now, and is stable.
Closes https://gitlab.com/gitlab-org/gitaly/issues/1286
Closes https://gitlab.com/gitlab-org/gitaly/issues/1233
|
|
|
|
|
|
After trying to remove the whole method in
8f69014af2902d8d53fe931268bec60f6858f160, this is a more gentle
approach to the method. :)
Prior to this change, new commit detection wasn't implemented in Gitaly,
this was done through: https://gitlab.com/gitlab-org/gitaly/merge_requests/779
As the new implemented got moved around a bit, the whole RevList class
got removed.
Part of https://gitlab.com/gitlab-org/gitaly/issues/1233
|
|
|
|
|
|
|
|
|
|
Use root ref instead of HEAD to find latest repository commit
Closes gitlab-ee#5864
See merge request gitlab-org/gitlab-ce!20258
|
|
Expire correct method caches after HEAD changed
Closes #44725
See merge request gitlab-org/gitlab-ce!20102
|
|
|
|
|
|
|
|
|
|
Closes https://gitlab.com/gitlab-org/gitaly/issues/889
|
|
|
|
|
|
|
|
Fix Xcode project detection by looking for dirs instead of files
See merge request gitlab-org/gitlab-ce!19035
|
|
|
|
|
|
Prior to this change, a feature flag could be used to disable this
feature. Now all requests go through Gitaly's OperationService.
Closes https://gitlab.com/gitlab-org/gitaly/issues/540
When vendoring `Gitlab::Git` again in Gitaly, this implemenation will be
gone, but this is readded there through:
https://gitlab.com/gitlab-org/gitaly/merge_requests/717
|
|
|
|
|
|
|
|
Has been in opt out for 5 months, and within GitLab been in production
for longer than that.
No code needs to be migrated as this is implemented in GoLang over at
Gitaly.
Closes https://gitlab.com/gitlab-org/gitaly/issues/314
|
|
|
|
|
|
|
|
Cache `#can_be_resolved_in_ui?` git operations
Closes gitaly#1051
See merge request gitlab-org/gitlab-ce!17589
|
|
Remove double caching of Repository#empty?
Closes #43882
See merge request gitlab-org/gitlab-ce!17588
|
|
We saw that in a customer instance, `empty?` was cached to be `true` even
though `has_visible_content?` and `exists?` were `true`. This double caching
can run into edge cases because there's no guarantee that the inner values
will properly expire the outer one, especially if there is Redis replication lag.
Consider this scenario:
1. `exists?` and `has_visible_content?` are false
2. `empty?` is expired
3. A subsequent call to `empty?` returns `true` because `exists?` is false even though `empty` is true
4. `exists?` and `has_visible_content?` are then expired
5. `exists?` and `has_visible_content?` are set to true
6. `empty?` is still stuck in the wrong value as `true`
Closes #43882
|
|
|
|
|
|
|
|
|
|
We removed the exception handling for Rugged errors in !16770, which
revealed that the licensee gem attempts to retrieve a license file
via Rugged in `refs/heads/master` by default. If that branch
did not exist, a Rugged::ReferenceError would be thrown.
There were two issues:
1. Not every project uses `master` as the default branch. This
change uses the head commit to identify the license.
2. Removing the exception handling caused repositories to fail
loading. We can safely catch and ignore any Rugged error because
this means we weren't able to load a license file.
Closes #43268
|
|
|
|
Client changes for Tag,BranchNamesContainingCommit
See merge request gitlab-org/gitlab-ce!16789
|