Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-12-21 18:14:09 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-12-21 18:14:09 +0300
commit819f28409e41a21c3c4985987f3bf5a2bff35b7b (patch)
tree24979281e7bde987eea9256b1ab61a71ba1a7f46 /app/models/namespaces/traversal/linear.rb
parent7167d709dcce6e8e9369dcdf24c778f198df381a (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/models/namespaces/traversal/linear.rb')
-rw-r--r--app/models/namespaces/traversal/linear.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/app/models/namespaces/traversal/linear.rb b/app/models/namespaces/traversal/linear.rb
index 5a5f2a5d063..757a0e40eb3 100644
--- a/app/models/namespaces/traversal/linear.rb
+++ b/app/models/namespaces/traversal/linear.rb
@@ -57,6 +57,13 @@ module Namespaces
traversal_ids.present?
end
+ def use_traversal_ids_for_self_and_hierarchy?
+ return false unless use_traversal_ids?
+ return false unless Feature.enabled?(:use_traversal_ids_for_self_and_hierarchy, root_ancestor, default_enabled: :yaml)
+
+ traversal_ids.present?
+ end
+
def use_traversal_ids_for_ancestors?
return false unless use_traversal_ids?
return false unless Feature.enabled?(:use_traversal_ids_for_ancestors, root_ancestor, default_enabled: :yaml)
@@ -107,6 +114,12 @@ module Namespaces
self_and_descendants.where.not(id: id)
end
+ def self_and_hierarchy
+ return super unless use_traversal_ids_for_self_and_hierarchy?
+
+ self_and_descendants.or(ancestors)
+ end
+
def ancestors(hierarchy_order: nil)
return super unless use_traversal_ids_for_ancestors?