summaryrefslogtreecommitdiffstats
path: root/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/RefNames.java
diff options
context:
space:
mode:
Diffstat (limited to 'gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/RefNames.java')
-rw-r--r--gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/RefNames.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/RefNames.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/RefNames.java
index 89de9dcd64..16896aab96 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/RefNames.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/RefNames.java
@@ -101,11 +101,32 @@ public class RefNames {
return ref;
}
+ /**
+ * Whether the ref is managed by Gerrit. Covers all Gerrit-internal refs like refs/cache-automerge
+ * and refs/meta as well as refs/changes. Does not cover user-created refs like branches or custom
+ * ref namespaces like refs/my-company.
+ */
+ public static boolean isGerritRef(String ref) {
+ return ref.startsWith(REFS_CHANGES)
+ || ref.startsWith(REFS_EXTERNAL_IDS)
+ || ref.startsWith(REFS_CACHE_AUTOMERGE)
+ || ref.startsWith(REFS_DRAFT_COMMENTS)
+ || ref.startsWith(REFS_SEQUENCES)
+ || ref.startsWith(REFS_USERS)
+ || ref.startsWith(REFS_STARRED_CHANGES)
+ || ref.startsWith(REFS_REJECT_COMMITS);
+ }
+
public static String changeMetaRef(Change.Id id) {
StringBuilder r = newStringBuilder().append(REFS_CHANGES);
return shard(id.get(), r).append(META_SUFFIX).toString();
}
+ public static String patchSetRef(PatchSet.Id id) {
+ StringBuilder r = newStringBuilder().append(REFS_CHANGES);
+ return shard(id.changeId.get(), r).append('/').append(id.get()).toString();
+ }
+
public static String robotCommentsRef(Change.Id id) {
StringBuilder r = newStringBuilder().append(REFS_CHANGES);
return shard(id.get(), r).append(ROBOT_COMMENTS_SUFFIX).toString();